PHP: Как искать файл с использованием подстановочных знаков - PullRequest
9 голосов
/ 01 апреля 2010

Мне нужно прочитать файл на PHP, но я знаю только конец имени файла, поэтому мне нужно найти файл в заданном каталоге, используя подстановочные знаки: * filename.wav, а затем вернуть его в браузер. Есть ли функция для этого? или мне нужно получить все файлы в каталоге, а затем искать один за другим?

Спасибо за все комментарии и помощь.

Ответы [ 2 ]

23 голосов
/ 01 апреля 2010

Посмотрите на функцию glob ()

Например, если вы хотите получить каждый файл, соответствующий *abc.xyz в подкаталоге dir

$matches = glob('./dir/*abc.xyz');

Обратите внимание, что glob не является рекурсивным и будет искать только один каталог, а не все подкаталоги.

4 голосов
/ 01 апреля 2010

В дополнение к ответу Якоби я хотел бы добавить, что в PHP был добавлен новый класс GlobIterator> = 5.3.

Позволяет использовать подстановочные знаки, так же, как glob(), но дополнительно:

  • Tt реализует интерфейс Iterator
  • Вы можете заставить его работать, возвращая экземпляр SplFileInfo класса


Так много полезных вещей в SPL (Стандартная библиотека PHP) , и никто никогда не думал о них ... Я не удержался.

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