Поиск по сайту:
Дурацкий колпак мозгов не портит (В. Шекспир).

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

31.12.2020
Полный список функций файловой системы 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Он используется для остановки при возникновении ошибки.
Читать  Как проверить версию PHP

 

Пример 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 />»;
}
?>

 

Читать  Создание простой контактной формы с помощью Angularjs и php

Вывод:

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

 

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
фыв

классная статья

Это может быть вам интересно


Рекомендуемое
Huawei всегда была претендентом на цену, и это еще раз…

Спасибо!

Теперь редакторы в курсе.