Классы для работы с файловой системой
В PHP есть набор встроенных библиотеки SPL для работы с файловой системой по типу ООП.
Классы для работы с директориями
SplFileInfoпредоставляет информацию о файле или каталоге, подробнееSplFileObjectпредоставляет объектно-ориентированный интерфейс для работы с файлами, такие как чтение, запись, итерация по строкам и другие, подробнееDirectoryIteratorпредоставляет объектно-ориентированный интерфейс для обхода содержимого каталога и получать информацию о файлах и подкаталогах, подробнееRecursiveDirectoryIteratorобход содержимого каталога рекурсивно, подробнее
Информация о файле или каталоге, SplFileInfo
Класс SplFileInfo предоставляет информацию о файле или каталоге. Он содержит методы для получения различных свойств файла, таких как путь, имя, расширение, размер, дату изменения и другие. Пример использования SplFileInfo:
<?
$fileInfo = new SplFileInfo('path/to/file.txt');
// Filename: file.txt
echo "Filename: " . $fileInfo->getFilename() . PHP_EOL;
// File extension: txt
echo "File extension: " . $fileInfo->getExtension() . PHP_EOL;
Чтение, запись, итерация файлов, SplFileObject
Класс SplFileObject предоставляет объектно-ориентированный интерфейс для работы с файлами. Он позволяет выполнять различные операции с файлами, такие как чтение, запись, итерация по строкам и другие. Пример использования SplFileObject:
<?
$file = new SplFileObject('path/to/file.txt', 'r');
while (!$file->eof()) {
echo $file->fgets();
}
Получение информации о файлах и подкаталогах, DirectoryIterator
Класс DirectoryIterator предоставляет объектно-ориентированный интерфейс для итерации по каталогам. Он позволяет обходить содержимое каталога и получать информацию о файлах и подкаталогах. Пример использования DirectoryIterator:
<?
$directoryIterator = new DirectoryIterator('path/to/directory');
foreach ($directoryIterator as $fileInfo) {
echo $fileInfo->getFilename() . PHP_EOL;
}
Обход содержимого каталога рекурсивно, RecursiveDirectoryIterator
Класс RecursiveDirectoryIterator расширяет класс DirectoryIterator и позволяет обходить содержимое каталога рекурсивно. Пример использования RecursiveDirectoryIterator:
<?
$directoryIterator = new RecursiveDirectoryIterator('path/to/directory');
$recursiveIterator = new RecursiveIteratorIterator($directoryIterator);
foreach ($recursiveIterator as $fileInfo) {
echo $fileInfo->getPathname() . PHP_EOL;
}