Функция glob() – это встроенная функция PHP, которая используется для поиска определенных файлов или папок на основе шаблона. Он возвращает имена файлов и папок в массиве, соответствующем шаблону. Как эту функцию можно использовать для поиска определенных файлов или папок, показано в этом руководстве.
Синтаксис функции glob() приведен ниже. Эта функция может принимать два аргумента. Первый аргумент принимает значение шаблона, который будет использоваться для поиска файла и папки. Второй аргумент является необязательным и используется для генерации вывода разными способами. Общие символы, которые используются для определения шаблона, и различные типы флагов, которые могут использоваться во втором аргументе этой функции, описаны ниже.
Шаблон | Цель |
---|---|
? | Он используется для соответствия ровно одному символу (любому). |
* | Он используется для сопоставления нуля или более символов. |
\ | Он используется для экранирования символов при использовании флага GLOB_NOESCAPE. |
[…] | Он используется для соответствия диапазону символов. |
Следующие значения флагов могут использоваться в необязательном аргументе функции glob().
Значение | Цель |
---|---|
GLOB_MARK | Он добавляет косую черту к каждому возвращаемому элементу. |
GLOB_NOSORT | Он возвращает несортированные файлы, которые появляются в каталоге. |
GLOB_NOCHECK | Он возвращает шаблон поиска, если совпадение не найдено. |
GLOB_NOESCAPE | Он использует обратную косую черту и не цитирует метасимволы. |
GLOB_BRACE | Он расширяет символы из группы до соответствия. |
GLOB_ONLYDIR | Он возвращает список каталогов, который соответствует только шаблону. |
GLOB_ERR | Он используется для остановки при возникновении ошибки. |
В следующем примере показан способ поиска всех файлов PHP в текущем местоположении с использованием шаблона ‘*.php’. Создайте файл PHP со следующим скриптом.
Шаблон будет искать любое имя файла с расширением PHP. Возвращаемое значение функции – это массив, который будет напечатан как вывод.
Вывод:
Следующий вывод появится после запуска сценария с сервера. Он показывает, что в текущем местоположении существует пять файлов PHP.
В следующем примере выполняется поиск всех текстовых файлов, содержащих имя файла из пяти символов. Создайте файл PHP со следующим скриптом.
«?????.txt» шаблон используется для поиска текстового файла с именем файла пять символов. Результатом функции glob() является массив, который хранится в переменной $files. Значения этой переменной печатаются с помощью цикла foreach.
Вывод:
Вывод показывает, что в текущем местоположении существуют два текстовых файла согласно шаблону.
В следующем примере выполняется поиск всех типов файлов из текущего местоположения и вывод имен файлов в каждой строке с помощью цикла. Шаблон ‘*.*’ используется в функции glob() для поиска любого файла любого типа. Возвращаемое значение функции сохраняется в массиве $files. Затем по результатам поиска подсчитывается общее количество файлов. Цикл foreach используется для печати значений массива в каждой строке.
Вывод:
Вывод появится после запуска сценария с сервера и показывает, что в текущем местоположении существует шесть файлов.
В следующем примере выполняется поиск в файле PHP, который начинается с символа «g». Создайте файл PHP со следующим скриптом.
‘g*.php’ используется в качестве шаблона для поиска файлов. Как и в предыдущих примерах, возвращаемое значение функции glob() сохраняется в массиве, который позже печатается с помощью цикла foreach.
Вывод:
Вывод показывает, что четыре файла PHP существуют в текущем месте, где файлы начинаются с символа ‘g’.
Шаблон, использованный во всех предыдущих примерах, искал файлы только из текущего местоположения. В следующем примере показан способ поиска по всем файлам и папкам в текущем местоположении. Создайте файл PHP со следующим скриптом.
‘*’ используется как образец в функции glob() для поиска всех файлов и папок. Возвращаемые значения функции сохраняются в массиве, который печатается позже.
Вывод:
Следующий вывод после запуска сценария с сервера показывает, что в текущем местоположении существуют пять файлов PHP, три текстовых файла и две папки.
В этой статье показаны методы поиска любого файла или папки с использованием функции glob() в PHP. Файл можно искать по расширению, начальному символу или указав общее количество символов. Будем надеяться, что использование функции glob() в PHP будет более понятным и легким для читателей после практики примеров из этого руководства.
классная статья