Чтение содержимого папки в PHP

Функция scandir позволяет посмотреть содержимое папки и получить в виде массива имена находящихся в ней файлов и подпапок. Параметром функция принимает путь к файлу.

Пусть у нас для примера есть папка dir. Посмотрим на ее содержимое:

<?php $files = scandir('dir'); var_dump($files); ?>

Важный нюанс

В массиве с результатом функция scandir также покажет наличие папок с именами ".." и ".". Технически первое имя соответствует ссылке на родительскую папку, а второе - на текущую.

Эти имена лучше убрать из массива с результатом. Делается это следующим образом:

<?php $files = scandir('dir'); $files = array_diff($files, ['..', '.']); var_dump($files); ?>

Можно упростить:

<?php $files = array_diff(scandir('dir'), ['..', '.']); var_dump($files); ?>

Практические задачи

Пусть в корне вашего сайта лежит папка dir, а в ней какие-то текстовые файлы. Выведите на экран столбец имен этих файлов.

Пусть в корне вашего сайта лежит папка dir, а в ней какие-то текстовые файлы. Переберите эти файлы циклом и выведите их тексты в браузер.

Пусть в корне вашего сайта лежит папка dir, а в ней какие-то текстовые файлы. Переберите эти файлы циклом, откройте каждый из них и запишите в конец восклицательный знак.