Получение списка имен файлов, соответствующих шаблону

Задача
Необходимо найти все имена файлов, соответствующие шаблону.

Решение
Если шаблон представляет собой регулярное выражение, то прочитайте каждый файл из каталога и проверьте его имя с помощью функции preg_match():

$d = dir('/tmp') or die($php_errormsg);
while (false !== ($f = $d->read())) {
// соответствует только именам из букв
if (preg_match('/^[a-zA-Z]+$/',$f)) {
print "$f\n";
}
}
$d->close();

Обсуждение
Если шаблон представляет собой универсальный символ оболочки (*.*), используйте оператор обратного апострофа в командах ls (UNIX) или dir (Windows) для получения соответствующих имен файлов.

Для UNIX:

$files = explode("\n",`ls -1 *.gif`);foreach ($files as $file) {
print "$b\n";
}

Для Windows:

$files = explode("\n",`dir /b *.gif`);
foreach ($files as $file) {
print "$b\n";
}

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Изменение прав доступа к файлу или его владельца
Копирование и перемещение файла
Обработка всех файлов в каталоге
Обработка всех файлов в каталоге
Получение и установка меток даты/времени файла

Вернуться в раздел: PHP / 19. Каталоги