使用php怎么对文件扩展名进行判断

  介绍

使用php怎么对文件扩展名进行判断?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

& lt; ! DOCTYPE>   & lt; html>   & lt; head>   ,& lt; meta  http-equiv=癈ontent-type",内容=拔谋?html", charset=皍tf-8"比;   ,& lt; title> check  file</title>   & lt;/head>   & lt; body>   & lt; b>文件扩展名验证& lt;/b>   & lt; input 类型=皌ext", name=癷nt",价值=https://www.yisu.com/zixun/拔募hp“onblur=凹觳?这)" id=" int ">      <>脚本   函数检查(obj) {   如果(obj。值==" | | obj.value.length <3) {   alert("输入的长度不能小于3且不能为空! ");   obj.focus ();   }   }   函数check_value () {   var str=$ value (“int”);   var repx=/?php | asp | jsp) $/我;   var类型=str.substring (str.lastIndexOf (“。”), str.length);   如果(type.match (repx) & & str.lastIndexOf (“。”) !=1) {   alert("文件扩展名正确”);   $ (“int”) .focus ();   其他}{   alert("文件扩展名有误”);   $ (“int”) .focus ();   }   }   函数美元(obj) {   返回. getelementbyid (obj);   }>   

使用php怎么对文件扩展名进行判断

php中获取文件扩展名的N种方法

基本上就以下这几种方式:

第1种方法:

function  get_extension(文件)   {   substr (strrchr文件,美元,& # 39;# 39;公司),,1);   }

第2种方法:

function  get_extension(文件)   {   return  substr(文件,美元,大小写敏感(文件,美元,& # 39;强生# 39;)+ 1);   }

第3种方法:

function  get_extension(文件)   {   return 结束(爆炸(& # 39;强生# 39;,,文件)美元);   }

第4种方法:

function  get_extension(文件)   {   $ info =, pathinfo($文件);   return  $ info(& # 39;扩展# 39;);   }

第5种方法:

function  get_extension(文件)   {   return  pathinfo(文件,美元,PATHINFO_EXTENSION);   }

以上几种方式粗看了一下,好像都行,特别是1、2种方法,在我不知道pathinfo有第二个参数之前也一直在用。但是仔细考虑一下,前四种方法都有各种各样的毛病。要想完全正确获取文件的扩展名,必须要能处理以下三种特殊情况。

没有文件扩展名

路径中包含了字符,如/home/test.d/用法

路径中包含了字符,但文件没有扩展名,如/home/测试。d/测试

很明显:1,2不能处理第三种情况,3不能正确处理第一三种情况。4可以正确处理,但是在不存在扩展名时,会发出一个警告。只有第5种方法才是最正确的方法。顺便看一下pathinfo方法。官网上介绍如下:

file_path 美元;=,pathinfo (& # 39;/www/根/your_image.jpg& # 39;);   echo “file_path 美元;[& # 39;目录名# 39;]\ n";   echo “file_path 美元;[& # 39;basename # 39;] \ n";   echo “file_path 美元;[& # 39;扩展# 39;]\ n";   echo “file_path 美元;[& # 39;文件名# 39;]\ n",,//, only 拷贝PHP  5.2 +

它会返回一个数组,包含最多四个元素,但是并不会一直有四个,比如在没有扩展名的情况下,就不会有扩展元素存在,所以第4种方法才会发现警告。但是phpinfo还支持第二个参数。可以传递一个常量,指定返回某一部分的数据:

PATHINFO_DIRNAME -目录
PATHINFO_BASENAME -文件名(含扩展名)
PATHINFO_EXTENSION -扩展名
PATHINFO_FILENAME -文件名(不含扩展名,PHP> 5.2)

这四个常量的值分别是1,2,4,8日,刚开始我还以为可以通过或运算指定多个:

pathinfo(文件,美元,PATHINFO_EXTENSION  |, PATHINFO_FILENAME);

看完上述内容,你们掌握使用php怎么对文件扩展名进行判断的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

使用php怎么对文件扩展名进行判断