PHP 获取url地址中文件的扩展名 $url = 'http://www.abc.com/ab/cd/e.php?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); parse_url() 该函数解析url、返回其组成部分; 返回关联数组 scheme 方案;如 http host 域名 port user 用户 pass path 路径 query 在问号?之后 fragment 在散列符号#之后 eg: print_r( $url ); Array( [scheme] = >http [host] => www.abc.com [path] => /ab/cd/e.php [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('/ab/cd/e.php'); 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) );