php 获取url的扩展名

方法一:

function getExt($url){
  $urlinfo =  parse_url($url);
  $file = basename($urlinfo[‘path‘]);
  if(strpos($file,‘.‘) !== false)
  {
    $ext = explode(‘.‘,$file);
    return $ext[count($ext)-1];
  }
  return ‘no extension‘;
}

测试的url:

echo getExt(‘http://www.sina.com.cn/abc/de/fg.php?id=1‘),"<br>";
echo getExt(‘http://china.cankaoxiaoxi.com/2014/0629/407885.shtml‘),"<br>";
echo getExt(‘http://tieba.baidu.com/p/3137855685‘),"<br>";
echo getExt(‘http://www.oschina.net/code/list/4/php?lang=php‘),"<br>";
echo getExt(‘http://news.qq.com/a/20140701/013380.htm?ADUIN=1281256312&ADSESSION=1404165481&ADTAG=CLIENT.QQ.5335_.0&ADPUBNO=26361‘),"<br>";

结果:

php
shtml
no extension
no extension
htm

 

方法二:

function getExt2($url){
  $urlinfo = pathinfo($url);   if(isset($urlinfo[‘extension‘]))   {     if(strpos($urlinfo[‘extension‘],‘?‘) !== false)       return explode(‘?‘,$urlinfo[‘extension‘])[0];     else       return $urlinfo[‘extension‘];   }   return ‘no extension‘; }

测试url同上

结果:

php
shtml
no extension
no extension
0&ADPUBNO=26361

最后一个url的扩展名获取有问题,我的理解是pathinfo($url)的extension是根据url是否存在“.”来获取的,如果存在“.”,扩展名应该是以最后一个点之后的一个位置截取的。

 

php 获取url的扩展名,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。