天天看点

PHP获取URL中文件扩展名

// 尽可能高效从一个标准url中获取文件的扩展名
// 例如 http://www.daiyuanpei.com/dai.html.php?id=1 取出 .php 或者 php

$url = 'http://www.daiyuanpei.com/dai.html.php?id=1';
// php
function getExt($url){
    $arr = parse_url($url); // parse_url解析一个 URL 并返回一个关联数组,包含在 URL 中出现的各种组成部分
    /* var_dump($arr);die;
     * array(4) {
          ["scheme"]=>
          string(4) "http"
          ["host"]=>
          string(18) "www.daiyuanpei.com"
          ["path"]=>
          string(13) "/dai.html.php"
          ["query"]=>
          string(4) "id=1"
     }
     * */
    $file = basename($arr['path']);
    $ext = explode('.', $file);
    return $ext[count($ext)-1];
}
// php方式二
function getExt2($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);
    }
}