В php есть функции, которые позволяют открывать файлы на чтение и запись в разных директориях. Но, что если нам нужно найти файлы определенного расширения и произвести с ними какие-то действия?
В этом случае нам отлично подойдет функция glob(), которая позволяет делать поиск со множеством параметров на основе регулярных выражений.
Предположим, нам нужно найти все php файлы в папке rezz. Для этого используем код:
$files = glob('/rezz/*.php');
print_r($files);
Из этого примера, все названия найденных php файлов добавятся в массив $files, а за счет print_r() мы сможем посмотреть его содержимое.
Усложним пример, создадим простую php галерею:
$folder="./images";
$filesall = glob($folder.'*.{jpg,gif,png,jpeg}', GLOB_BRACE);
echo '<div class="megaload11">';
for($idfilesall = 0; $idfilesall<count($filesall); $idfilesall++) {
echo '<div class="megaload12"><img src="'.$filesall[$idfilesall].'"></div>';}
echo '</div>';
Объясню работу скрипта.
$folder - содержит папку images, которая находится в корне сайта и из которой мы будем брать картинки.
$filesall - массив, в который записывается результат функции glob(), которая выполняет поиск файлов с расширениями jpg, gif, png, jpeg.
for - цикл, который выводит все картинки из массива $filesall.
Чтобы проверить работу скрипта создайте папку images в корне сайта с картинками и поместите этот код в index.php, который загрузите также в корень сайта.
Еще пример на засыпку:
foreach (glob("*.txt") as $filename) { echo "$filename размер " . filesize($filename) . "\n"; } // ищет все txt файлы в данном пути
Таким образом за счет glob() можно легко сканировать и находить документы с нужным расширением или именем файла.
Добавить комментарий