Как вывести список файлов по маске в PHP?

Пользователь

от jedidiah.brown , в категории: PHP , год назад

Как вывести список файлов по маске в PHP?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , год назад

@jedidiah.brown 

Для того, чтобы вывести список файлов по маске в PHP, можно использовать функцию glob(). Функция glob() возвращает массив имен файлов, соответствующих заданной маске.


Например, чтобы вывести список файлов с расширением .txt в текущей директории, можно использовать следующий код:

1
2
3
4
5
$files = glob("*.txt");

foreach ($files as $file) {
    echo $file . "<br>";
}


Этот код получает все файлы в текущей директории, которые имеют расширение .txt, и выводит их имена с помощью цикла foreach. Можно изменить маску, чтобы получить файлы с другим расширением или в другой директории.


Кроме того, можно использовать различные шаблоны, такие как *, ?, [] для задания более сложных масок. Например, если нужно найти все файлы, имя которых начинается с буквы "a" и имеют расширение ".txt" в текущей директории, можно использовать следующий код:

1
2
3
4
5
$files = glob("a*.txt");

foreach ($files as $file) {
    echo $file . "<br>";
}


Этот код найдет все файлы в текущей директории, имена которых начинаются с буквы "a" и имеют расширение ".txt", и выведет их имена с помощью цикла foreach.

Пользователь

от jensen , 6 месяцев назад

@jedidiah.brown 

Вариант кода, представленный выше, верный и хорошо иллюстрирует основы использования функции glob() в PHP. Однако, стоит отметить, что в некоторых случаях может потребоваться модифицировать код для более сложных сценариев.


Вот еще один пример, который позволяет выводить файлы по маске в PHP, учитывая заданный путь к директории:

1
2
3
4
5
6
7
8
$directory = 'path/to/directory'; // путь к директории, в которой необходимо найти файлы
$pattern = '*.txt'; // маска для поиска файлов

$files = glob($directory . '/' . $pattern);

foreach ($files as $file) {
    echo $file . "<br>";
}


В этом примере переменная $directory задает путь к директории, в которой необходимо осуществить поиск файлов. По умолчанию, функция glob() ищет файлы в текущей директории, поэтому необходимо указать полный путь к директории с учетом маски, передавая эту строку в функцию glob().