【发布时间】:2011-02-11 03:52:21
【问题描述】:
我想检查一个文件是否有扩展名 .php。如果它有我包括它。
有人可以帮我检查正则表达式吗?
谢谢!
【问题讨论】:
我想检查一个文件是否有扩展名 .php。如果它有我包括它。
有人可以帮我检查正则表达式吗?
谢谢!
【问题讨论】:
通常你不使用正则表达式。
以下是一种流行的方法:
$extension=pathinfo($filename, PATHINFO_EXTENSION);
【讨论】:
pathinfo 是最简单的解决方案,但您也可以使用fnmatch
if( fnmatch('*.php', $filename) ) { /* do something */ }
编辑: 就像 @zombat 在 cmets 中指出的那样,如果您追求的是 fast 解决方案,那么以下方法比使用 pathinfo 和 fnmatch 更快:
if( substr($filename, -4) === '.php' ) { /* do something */ }
请记住,pathinfo 与 fnmatch 和 substr 不同,它会对您提供的路径进行 basename 检查,这在我看来更简洁。
【讨论】:
if (substr($filename,-4) == '.php') 在速度方面将这两种方法都淘汰了。
/\.php$/
但扩展映射并不能确保内容是您所期望的,只是文件以特定方式命名。
【讨论】: