PHP 获取 url 地址中文件的扩展名。
$url = 'http://www.phpernote.com/webmap.html?id=1&data=2#laowen'; echo pathinfo( parse_url($url)['path'] )['extension']; echo pathinfo( parse_url( $url, PHP_URL_PATH ), PATHINFO_EXTENSION );
解析:
parse_url() 该函数解析url、返回其组成部分,结果是一个关联数组如下:
scheme 方案;如 http
host 域名
port 端口
user 用户
pass
path 路径
query 在问号?之后
fragment 在散列符号#之后
eg: print_r( $url );
Array(
[scheme] = >http
[host] => www.phpernote.com
[path] => /webmap.html
[query] => id=1&data=2
[fragment] => laowen
)
扩展:
打印解析url var_dump(parse_url($url));
打印url的scheme var_dump(parse_url($url, PHP_URL_SCHEME));
打印url的user var_dump(parse_url($url, PHP_URL_USER));
打印url的pass var_dump(parse_url($url, PHP_URL_PASS));
打印url的host var_dump(parse_url($url, PHP_URL_HOST));
打印url的port var_dump(parse_url($url, PHP_URL_PORT));
打印url的path var_dump(parse_url($url, PHP_URL_PATH));
打印url的query var_dump(parse_url($url, PHP_URL_QUERY));
打印url的fragment var_dump(parse_url($url, PHP_URL_FRAGMENT));
pathinfo()解析文件路径,返回其组成部分,结果是一个关联数组,如下:
dirname 文件路径
basename 文件名+扩展名
extension 最后一个扩展名
filename 文件名
eg: print_r( pathinfo('/ab/cd/e.php') );
Array(
[dirname] => /ab/cd
[basename] => e.php
[extension] => php
[filename] => e
)
扩展:
打印解析路径 var_dump( pathinfo($path) );
打印路径的父级路径 var_dump( pathinfo($path, PATHINFO_DIRNAME) );
打印路径的尾名 var_dump( pathinfo($path, PATHINFO_BASENAME) );
打印路径的最后的扩展名 var_dump( pathinfo($path, PATHINFO_EXTENSION) );
打印路径的文件的名字 var_dump( pathinfo($path, PATHINFO_FILENAME) );