ГРУППА КУРСА
|
Главная >
Учебник PHP >
КаталогиПолучение файлов из каталогаСначала рассмотрим современный способ получения файлов. Функция scandir() возвращает массив, содержащий имена каталогов и файлов в указанном каталоге. scandir (адрес, сортировка, контекст) Параметры:
адрес - абсолютный или относительный адрес каталога сортировка - определяет, в каком порядке будут находиться файлы в массиве. Принимает значения: SCANDIR_SORT_ASCENDING - в алфавитном порядке (по умолчанию), SCANDIR_SORT_DESCENDING - в алфавитном порядке, но по убыванию, SCANDIR_SORT_NONE - без сортировки контекст - ресурс контекста. Необязательный параметр. В массиве, который возвращает функция, кроме имён файлов и директорий, всегда есть два значения: "." и "..". Одна точка означает текущий каталог, а две точки означают родительский каталог. Для примера создадим в папке со скриптами папку mydirectory. Скопируем в неё несколько файлов. Выведем на страницу список файлов из директории. +
Когда получены имена файлов, можно работать с ними. Чтобы отличить файлы от папок, можно использовать функции is_file() и is_dir(), которые описаны в прошлой теме. В более ранных версиях PHP получение файлов из каталога осуществлялось иначе. Для этого каталог нужно открыть. Это делается при помощи функции opendir(), которая возвращает дескрептор каталога. Используя этот дескрептор, функция readdir() возвращает имя одного файла или каталога. Сначала первый файл, потом следующий и так далее. Когда файлы заканчиваются, функция возвращает false. Чтобы получить все файлы, нужно запустить функцию в цикле, пока она не вернёт false. Выбор каталогаЧасто возникает необходимоть работать с текущим каталогом, то есть с тем, в котором находится скрипт. Для выбора этого каталога не обязательно указывать абсолютный адрес. Можно указать по-другому. Одна точка означает текущую директорию, а две точки означают родительскую директорию. Пример:
Функция getcwd() возвращает адрес текущей директории.
В PHP есть возможность выбрать другой каталог. Для этого используется функция chdir(). При этом указанный каталог становится текущим.
Создание, перемещение и удаление каталогаФункция mkdir() создаёт новый каталог. Возвращает true в случае успеха. mkdir (адрес, режим доступа, вложенные каталоги, контекст) Параметры:
адрес - абсолютный или относительньный адрес нового каталога режим доступа - режим доступа к каталогу. По умолчанию 0777 вложенные каталоги - позволяет создать каталог вместе с вложенным каталогом, в котором также могут быть вложенные каталоги. Общая структура описывается в адресе. Для этого параметру нужно указать true. контекст - ресурс контекста Обязателен только первый параметр. Создадим в текущем каталоге новый каталог. Учитывайте, что в 6 строке текущим был выбран другой каталог.
Для переименования и перемещения директорий применяется функция rename(), которая также используется и для файлов. Она рассмотрена в предыдущей теме. Функция rmdir() удаляет каталог. При этом он должен быть пустым. Если он не пустой, то сначала нужно переместить или удалить из него все файлы. Функция возвращает true при успешном удалении.
|