太原PHP培训
达内太原php培训中心

0351-5608878

热门课程

PHP_面试笔试题--编程题

  • 时间:2015-08-27
  • 发布:达内
  • 来源:太原达内PHP学院

  • 编程题:
    1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
       例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
    答案1:
       function getExt($url){
       $arr = parse_url($url);
       
       $file = basename($arr['path']);
       $ext = explode(".",$file);
       return $ext[1];
    }
    答案2:
        function getExt($url) {
        $url = basename($url);
        $pos1 = strpos($url,".");
        $pos2 = strpos($url,"?");
        if(strstr($url,"?")){
             return substr($url,$pos1 + 1,$pos2 - $pos1 - 1);
        } else {
          return substr($url,$pos1);
        }
    }


    2. 在 HTML 语言中,页面头部的 meta 标记可以用来输出文件的编码格式,以下是一个标准的 meta 语句
    请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5
    请注意:
    1. 需要处理完整的 html 页面,即不光此 meta 语句
    2. 忽略大小写
        3. ' 和 " 在此处是可以互换的
        4. 'Content-Type' 两侧的引号是可以忽略的,但 'text/html; charset=gbk' 两侧的不行
    5. 注意处理多余空格

    3. 写一个函数,算出两个文件的相对路径
    如 $a = '/a/b/c/d/e.php';
    $b = '/a/b/12/34/c.php';
    计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
    答:function getRelativePath($a, $b) {   
        $returnPath = array(dirname($b));   
        $arrA = explode('/', $a);   
        $arrB = explode('/', $returnPath[0]);   
        for ($n = 1, $len = count($arrB); $n < $len; $n++) {   
            if ($arrA[$n] != $arrB[$n]) {   
                break;   
            }    
        }   
        if ($len - $n > 0) {   
            $returnPath = array_merge($returnPath, array_fill(1, $len - $n, '..'));   
        }   
           
        $returnPath = array_merge($returnPath, array_slice($arrA, $n));   
        return implode('/', $returnPath);   
       }   
       echo getRelativePath($a, $b); 

上一篇:PHP_面试笔试题--填空题
下一篇:PHP_面试笔试题--选择题

百度招聘—PHP经典笔试题

PHP+MySQL技术职位笔试题

2015经典php笔试题与答案

PHP_面试笔试题--选择题

标签的属性中,cellspacing和cellpadding分别代表(B)

选择城市和中心
贵州省

广西省

海南省