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是否存在“.”來獲取的,如果存在“.”,擴展名應該是以最后一個點之后的一個位置截取的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM