php获取url的文件扩展名

这是面试的时候出现的一条题目,觉得挺有参考价值的就写了出来。

原题:写一个php函数,尽可能高效的,从一个url中提取出文件的扩展名。例如http://www.yiecho.com/index.php?p=40

<?php 
$url = "http://www.yiecho.com/index.php?p=40";
//这个是看题目后自己写出来的一个函数
function getUrl($url) {
    $date = explode('?', $url);//把url以?分割成数组
    $date = basename($date[0]);//返回路径中的文件名部分
    $date = explode('.', $date);//把index.php以.分割成数组
    return $date[1];
}
var_dump(getUrl($url));//输出

//下面两个是比较好的
function getExt($url){
   $arr = parse_url($url);// 解析 URL,返回其组成部分
   $file = basename($arr['path']);
   $ext = explode(".",$file);
   return $ext[1];
}
var_dump(getExt($url));
 
function getName($url) {
   $w_param = pathinfo($url);//返回文件路径的信息
   $str = $w_param['extension'];
   list($type, $vars) = explode('?',$str);
   return $type;
}

?>

本源程序可能由于php版本、服务器等问题无法执行,如有问题或更好的建议,请留言。

网友评论1

  1. 沙发
    淘她喜欢:

    谢谢,来回访了

    2015-11-24 09:08 [回复]

发表评论

表情
还能输入210个字