PHP получить файл по регулярному выражению - PullRequest
1 голос
/ 23 июня 2011

Есть ли способ, с помощью которого PHP может получить файл с помощью поиска Regexp?Я знаю, как открыть и прочитать каталог без проблем, но поиск конкретного файла является проблемой.

Вот пример, у меня есть логотип, который может заканчиваться любым из следующихрасширения: .bmp, .png, .jpg, .jpeg или .gif.Однако имя файла будет всегда быть icon.someext.

$filesDirectory = scandir("/files");

foreach($filesDirectory as $file) {
    [Regexp find logo here] ? $logo = $file : null;
}

echo $logo; // Returns something like logo.png

Спасибо, что уделили время.

Ответы [ 3 ]

10 голосов
/ 23 июня 2011

Вы можете использовать glob с подстановочными знаками и GLOB_BRACE:

$files = glob("icon.{png,jpg,jpeg,gif,bmp}", GLOB_BRACE);
2 голосов
/ 23 июня 2011
$files = glob("icon.*");

работает почти так же, как подстановочные знаки в командной строке Unix.

0 голосов
/ 23 июня 2011

Попробуйте использовать preg_match() http://us3.php.net/manual/en/function.preg-match.php

Если вам нужна помощь в его использовании, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...