比拟基础的php面试题及答案.docx
比拟基础的php面试题及答案编程题:1.写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名例如:sinaabc/de/fg.php?id=1需要取出php或.php答案1:functiongetExt($url)$arr=parse_url($url);$file=basename($arrpath$ext=explode(.,$file);return$ext1;答案2:functiongetExt($url)$url=basename($url);$pos1=strpos($url,.);$pos2=strpos($url,?);if(strstr($url,?)returnsubstr($url,$pos1+1,$pos2$pos11);elsereturnsubstr($url,$pos1);2.在语言中,页面头部的meta标记能够用来输出文件的编码格式,下面是一个标准的meta语句请使用PHP语言写一个函数,把一个标准页面中的类似meta标记中的charset部分值改为big5请注意:1.需要处理完好的页面,即不光此meta语句2.忽略大小写3.和在此处是能够互换的'4.Content-Type两侧的引号是能够忽略的,但text/;charset=gbk两侧的不行5.注意处理多余空格3.写一个函数,算出两个文件的相对途径如$a=/a/b/c/d/e.php$b=/a/b/12/34/c.php计算出$b相对于$a的相对途径应该是././c/d将()添上答:functiongetRelativePath($a,$b)$returnPath=array(dirname($b);$arrA=explode(/,$a);$arrB=explode(/,$returnPath0);for($n=1,$len=count($arrB);$n$len;$n+)if($arrA$n!=$arrB$n)break;if($len$n0)$returnPath=array_merge($returnPath,array_fill(1,$len$n,.);$returnPath=array_merge($returnPath,array_slice($arrA,$n);returnimplode(/,$returnPath);echogetRelativePath($a,$b);【比拟基础的php面试题及答案】