ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Четверг, 19 декабря, 2024

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

Полный список функций файловой системы PHP 5

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

 

Синтаксис:

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

array glob ( string $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. Возвращаемое значение функции — это массив, который будет напечатан как вывод.

<?php
// Распечатать список текстовых файлов текущей директории
print_r(glob(«*.php»));
?>

 

Вывод:

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

 

Пример 2: читать определенные текстовые файлы с помощью символа ‘?’ условное обозначение

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

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

<?php
// Чтение конкретных текстовых имен файлов из текущего местоположения
$ files = glob(«?????. txt») ;
// Вывести имена файлов
foreach ($files as $file) {
echo «<b>» . $file. «</b> <br />»;
}
?>

 

Вывод:

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

 

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

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

<?php
// Прочитать все имена файлов в текущем местоположении
$files = glob(«*.*») ;
// Подсчитать общее количество файлов
$count = count ($files) ;
echo «Всего файлов = <b> $count </b> <br/> <br/>» ;
echo «Это файлы: <br />»;
// Вывести имена файлов
foreach ( $ files as $ file ) {
echo «<b>».$files.»</b><br/>»;
}
?>

 

Вывод:

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

 

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

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

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

<?php
// Поиск файла начинается с ‘g’
$files = glob(«g*.php»);
// Распечатать файлы
foreach ($files as $file) {
echo $file. «<br />»;
}
?>

 

Вывод:

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

 

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

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

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

<? php
// Прочитать все файлы и папки текущего местоположения
$files = glob(«*»);
// Распечатать файлы и папки
foreach ($files as $file) {
echo $file. «<br />»;
}
?>

 

Вывод:

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

 

Заключение

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

Exit mobile version