php

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

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

Синтаксис:

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

массив glob (строка $ pattern [, int $ flags = 0])

Наиболее часто используемые символы в шаблоне

Шаблон Цель
? Он используется для соответствия ровно одному символу (любому).
* Он используется для сопоставления нуля или более символов.
\ Он используется для экранирования символов при использовании флага GLOB_NOESCAPE.
[…] Используется для соответствия диапазону символов.

Значения флагов

Следующие значения флагов могут использоваться в необязательном аргументе функции glob ().

Значение Цель
GLOB_MARK Он добавляет косую черту к каждому возвращаемому элементу.
GLOB_NOSORT Он возвращает несортированные файлы, которые появляются в каталоге.
GLOB_NOCHECK Он возвращает шаблон поиска, если совпадение не найдено.
GLOB_NOESCAPE Он использует обратную косую черту и не цитирует метасимволы.
GLOB_BRACE Он расширяет символы из группы, чтобы они соответствовали.
GLOB_ONLYDIR Он возвращает список каталогов, который соответствует только шаблону.
GLOB_ERR Используется для остановки при возникновении ошибки.

Пример 1. Прочтите все файлы PHP с помощью символа '*'

В следующем примере показан способ поиска всех файлов PHP в текущем местоположении с помощью символа '*.php 'шаблон. Создайте файл PHP со следующим скриптом.

Шаблон будет искать любое имя файла с расширением PHP. Возвращаемое значение функции - это массив, который будет напечатан как вывод.

// Распечатываем список текстовых файлов текущего каталога
print_r (glob ("*.php "));
?>

Выход:

Следующий вывод появится после запуска скрипта с сервера. Он показывает, что в текущем местоположении существует пять файлов PHP.

Пример 2: чтение определенных текстовых файлов с помощью символа '?' символ

В следующем примере выполняется поиск всех текстовых файлов, содержащих имя файла из пяти символов. Создайте файл PHP со следующим скриптом.

В '?????.текст' шаблон используется для поиска текстового файла с пятизначным именем файла. Результатом работы функции glob () является массив, который хранится в переменной, $ files. Значения этой переменной печатаются с использованием foreach петля.

// Считываем конкретные текстовые имена файлов текущего местоположения
$ files = glob ("?????.текст");
// Распечатываем имена файлов
foreach ($ files as $ file)
эхо "" . $ файл. "
";

?>

Выход:

Следующий вывод появится после запуска скрипта с сервера. Он показывает, что в текущем местоположении существуют два текстовых файла в соответствии с шаблоном.

Пример 3: прочитать все файлы в текущем местоположении с помощью цикла

В следующем примере выполняется поиск всех типов файлов из текущего местоположения и печать имен файлов в каждой строке с помощью цикла. '*.* ' шаблон используется в функции glob () для поиска любого файла любого типа. Возвращаемое значение функции сохраняется в массиве, $ files. Затем общее количество файлов подсчитывается из результатов поиска. для каждого цикл используется для печати значений массива в каждой строке.

// Считываем все имена файлов в текущем местоположении
$ files = glob ("*.* ");
// Подсчитываем общее количество файлов
$ count = count ($ files);
echo "Всего файлов = $ count

";
echo "Это файлы:
";
// Распечатываем имена файлов
foreach ($ files as $ file)
эхо "" . $ файл. "
";

?>

Выход:

Следующий вывод появится после запуска скрипта с сервера. Он показывает, что в текущем местоположении существует шесть файлов.

Пример 4: Поиск файла, который начинается с определенного символа

В следующем примере выполняется поиск в файле PHP, который начинается с символа 'грамм'. Создайте файл PHP со следующим скриптом.

'грамм*.php ' используется как шаблон для поиска файлов. Как и в предыдущих примерах, возвращаемое значение функции glob () сохраняется в массиве, который позже печатается с использованием foreach петля.

// Поиск файла, начинающегося с 'g'
$ files = glob ("g *.php ");
// Распечатать файлы
foreach ($ files as $ file)
echo $ file. "
";

?>

Выход:

Следующий вывод появится после запуска скрипта с сервера. Он показывает, что четыре файла PHP существуют в текущем месте, где файлы начинаются с символа 'грамм'.

Пример 5: прочитать все файлы и папки

Шаблон, использованный во всех предыдущих примерах, искал только файлы из текущего местоположения. В следующем примере показан способ поиска по всем файлам и папкам в текущем местоположении. Создайте файл PHP со следующим скриптом.

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

// Читаем все файлы и папки в текущем месте
$ files = glob ("*");
// Распечатать файлы и папки
foreach ($ files as $ file)
echo $ file. "
";

?>

Выход:

Следующий вывод появится после запуска скрипта с сервера. Он показывает, что в текущем месте существуют пять файлов PHP, три текстовых файла и две папки.

Заключение

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

Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...