Я хочу проверить, имеет ли файл расширения .php. если он включает его.Как проверить, является ли файл php?
Может ли кто-нибудь помочь мне с проверкой регулярного выражения?
спасибо!
Я хочу проверить, имеет ли файл расширения .php. если он включает его.Как проверить, является ли файл php?
Может ли кто-нибудь помочь мне с проверкой регулярного выражения?
спасибо!
Обычно вы не используете регулярное выражение.
Следующая популярный метод вместо:
$extension=pathinfo($filename, PATHINFO_EXTENSION);
/\.php$/
, но расширение отображения не гарантирует, что контент является тем, что вы ожидаете, так что файл назван определенным образом.
pathinfo является самым простым решением, но вы также можете использовать fnmatch
if(fnmatch('*.php', $filename)) { /* do something */ }
EDIT: Like @zombat баллов из в комментариях, если вы после быстро решение, то следующий быстрее, чем при использовании pathinfo
и fnmatch
:
if(substr($filename, -4) === '.php') { /* do something */ }
Имейте в виду, что pathinfo
, в отличие от fnmatch
и substr
делает basename
проверку на пути вы предоставляете, что делает его немного чище, на мой взгляд.
Что касается скорости, fnmatch выйдет из режима pathinfo 2: 1 при использовании для этой цели. – webbiedave
На основании каких доказательств? – zaf
@Gordon pathinfo требует файла i/o ??? вы тянете мою ногу ...? – zaf
Хорошая точка. Существует много других расширений файлов, которые указывают на содержимое PHP: .module, .inc, .test, .install и т. Д. – David