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) );

 

posted on 2017-03-09 20:29  啥也不会的程序猿  阅读(12100)  评论(0编辑  收藏  举报