PHP: Функция glob () и rewinddir ()

Поскольку функция readdir () возвращает каждый раз новое имя файла, то каждый файл заданного каталога в отдельности можно просмотреть только однажды.

Для тех случаев, когда необходимо повторно просмотреть содержимое каталога, РНР предоставляет функцию, которая позволяет “перемотать” оглавление каталога в исходное состояние, которое он имел перед первым вызовом функции readdir (). Эта функция, называемая rewinddir (), имеет следующий синтаксис:

rewinddir($dir_reference)

где $dir_reference указывает на действительный дескриптор каталога, полученный из функции opendir (). Хотя функция opendir () и другие родственные ей функции имеют свои преимущества, особенно полезным является альтернативный метод получения списка файлов, удовлетворяющих определенному критерию (или шаблону). Этой цели служит функция, называемая glob (), которая имеет такой синтаксис:

glob($filemask [, flags])

реферальный код Bybit

где $filemask – это строка, содержащая шаблон поиска (например, *.txt) , a flags представляет одну или несколько констант, перечисленных ниже. При успешном завершении glob () возвращает отсортированный список файлов, удовлетворяющих заданному шаблону.

Константы для функции glob ()

GLOB_MARK Добавлять слэш к именам, которые являются каталогами.
GLOB_NOSORT He сортировать возвращаемый список файлов.
GLOB_NOCHECK Если нет файлов, совпадающих с шаблоном, вернуть шаблон вместо пустого массива.
GLOB_ONLYDIR Вернуть только каталоги, совпадающие с шаблоном.

В приведенном примере функция glob () используется для создания двух отдельных массивов, один из которых содержит список всех файлов каталога /tmp/, а другой – только список его подкаталогов.

Использование функции glob( )

<?php
$directories = glob ("/tmp/*", GLOB_ONLYDIR);
$complete = glob("/tmp/*");
$files = array_diff($directories, $complete);
echo "Каталоги в /tmp/<BR>";
foreach($directories as $val) {
echo "$val<BR>\n";
}
echo "<ВК>Файлы в /tmp/<BR>";
foreach($files as $val) {
echo "$val<BR>\n";
}
?>

Несмотря на то что существует константа функции glob (), которая позволяет получить список только файлов (то есть, не содержащий каталогов), в примере для этой цели применяется функция array_diff (), которая вычисляет разность между полным списком и списком, содержащим только каталоги (а, следовательно, получает список, содержащий только файлы).

Я уже 3 года торгую фьючерсами на Bybit и приглашаю тебя присоединиться и получить до $30 000 бонусами плюс скидки на комиссии:
Рекомендую статью:  PHP: русско-английский переводчик online

Зарегистрироваться на Bybit

Чем больше депозит – тем больше бонусов. Также моим рефералам доступны торговые боты для трейдинга по самым выгодным тарифам.

Рейтинг
( Пока оценок нет )
Загрузка ...
Кводо.ру