如何检查文件是否是PHP?

nev*_*ame 4 php regex

我想检查一个文件是否有扩展名.php.如果它包含它.

有人可以帮助我进行正则表达式检查吗?

谢谢!

zaf*_*zaf 11

通常您不使用正则表达式.

以下是一种流行的方法:

$extension=pathinfo($filename, PATHINFO_EXTENSION);
Run Code Online (Sandbox Code Playgroud)


Gor*_*don 5

pathinfo是最简单的解决方案,但您也可以使用fnmatch

if( fnmatch('*.php', $filename) ) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

编辑:就像@zombat在评论中指出的那样,如果您正在使用快速解决方案,那么以下内容比使用pathinfo和更快fnmatch:

if( substr($filename, -4) === '.php' ) { /* do something */ }
Run Code Online (Sandbox Code Playgroud)

请记住pathinfo,不像fnmatchsubstr做了basename你提供的路径,这使得它在我看来有点清洁器检查.

  • 如果你所做的只是检查".php",你为什么要使用需要通配符匹配的东西呢?`if(substr($ filename,-4)=='.php')`在速度方面将这两种方法从水中吹出来. (2认同)