Классы для работы с файловой системой
В 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;
}