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

  •   
  • 4970
  • PHP
  • 10
  • super_dodo
  • 2016/07/18

写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php

直接先上方法,主要用到两个函数 parse_url() 和basename() 函数返回路径中的文件名部分。

1
2
3
4
5
6
function getExt($url){
    $arr = parse_url($url);
    $file = basename($arr['path']);
    $ext = explode(".",$file);
    return $ext[1];
}

按照上面的方法步奏执行,输出各阶段的值

1
2
3
4
5
6
7
8
9
10
此处打印$arr 得到
Array(
    [scheme] => http
    [host] => www.sina.com.cn
    [path] => /abc/de/fg.php
    [query] => id=1
)
 
 
$file 的到结果为 fg.php

另外再熟悉一下parse_url()

1
2
3
4
5
6
7
8
9
10
11
12
13
parse_url($url)如下:
print_r($ua);
 
Array(
    [scheme] => http
    [host] => hostname
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)

人生有两大悲剧:一个是得不到想要的东西,另一个是得到了不想要的东西。