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的扩展名

时间: 2024-10-13 13:55:07

php 获取url的扩展名的相关文章

获取文件名的扩展名

文件名类型有:http://localhost/code/loginfile/index.ini.php?username=aaa E:\xampp\php/login.php login.php function file_extension($url) { //第一步:判断是否有问号"?" $file="";  //存储整个文件名称 if (strstr($url,"?")){ list($file)=explode("?"

java获取文件名及扩展名总结

如:文件filePath = "E:\\test\\test.dxf" 1.获取文件名 eg:获取 test.dxf 通过file对象 import java.io.File; public class test { public static void main(String[] args) { String filePath = "E:\\test\\test.dxf"; File tmpFile=new File(filePath); String fileN

lua 获取文件名和扩展名

local str = "aaa.bbb.bbb.txt" --获取文件名 function getFileName(str) local idx = str:match(".+()%.%w+$") if(idx) then return str:sub(1, idx-1) else return str end end --获取扩展名 function getExtension(str) return str:match(".+%.(%w+)$"

C# 获取文件名及扩展名

转载自  http://www.cnblogs.com/libushuang/p/5794976.html string aFirstName = aFile.Substring(aFile.LastIndexOf("\\") + 1, (aFile.LastIndexOf(".") - aFile.LastIndexOf("\\") - 1));  //文件名 string aLastName = aFile.Substring(aFile.L

C/C++ 解析文件路径 获取文件名和扩展名

1. _splitpath函数 在c或者c++编程中,常常会用到获取程序或文件的路径,比对路径做分解和合并处理,_splitpath和_makepath就可以完成这样的功能. 函数的声明 void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext ); 功能是分解路径,把你的完整路径给分割开来,就是一个对字符串进行分割的函数. 参数表 参数 描述 path Full path(完整路径) dr

JSFinder 一个从JS文件中获取url和子域名的工具

关于 JSFinder JSFinder is a tool for quickly extracting URLs and subdomains from JS files on a website. JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具. 提取URL的正则部分使用的是LinkFinder By : Threezh1 Blog: https://threezh1.github.io/ https://threezh1.com/2019/06/10/JSFin

java中HttpServletRequest常用获取url、资源名等方法总结

HttpServletRequest客户端获取请求,客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中.所以我们能够从对象中获取相应信息 端口 request.getServerPort() ; 获取服务器名称 request.getContextPath(); 获取工程名称 request.getContextPath(): 获取servlet路径 request.getServletPath().substring(0,request.getServletPat

PHP获取文件的扩展名

<?php $url = 'dir/upload.image.jpg'; function getExt1($url){ return strrchr($url,'.'); } function getExt2($url){ return substr($url,strrpos($url,'.')); } function getExt3($url){ $a = explode('.',$url); return array_pop($a); } function getExt4($url){

PHP 获取文件名和扩展名的方法

dirname(path) path: 代表你的文件路径,必须为绝对路径,可以使用__FILE__, 表示列出当前文件的绝对路径,包含文件名 函数会返回当前文件的上一级路径,也就是除了文件名称的路径 eg: echo __FILE__; // 输出 // D:\phpStudy\WWW\xml_drivers\test.php echo dirname(__FILE__); //输出 // D:\phpStudy\WWW\xml_drivers glob(dirname/*) 获取指定文件夹下的