page contents

写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名,

轩辕小不懂 发布于 2021-06-04 16:54
阅读 748
收藏 0
分类:PHP开发
  • PHP
  • 最佳答案 2021-07-23 14:30

    955
    Pack
    Pack

    <?php

        // 方案一
        function getExt1($url){

            $arr = parse_url($url);
            //Array ( [scheme] => http [host] => www.startphp.cn [path] => /abc/de/fg.php [query] => id=1 )

            $file = basename($arr['path']);
            $ext = explode('.', $file);
            return $ext[count($ext)-1];
        }



        // 方案二
        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);
            }
        }

        $path = "http://www.startphp.cn/abc/de/fg.php?id=1";
        echo getExt1($path);
        echo "<br />";
        echo getExt2($path);

    ?>

    请先 登录 后评论