nurymbet / filesystem
Requires (Dev)
- phpunit/phpunit: ^12.1
This package is auto-updated.
Last update: 2025-07-02 00:10:04 UTC
README
Библиотека для удобной работы с файловой системой: FileManager
— для работы с файлами, FolderManager
— для папок.
📦 Установка
composer require nurymbet/phantom-filesystem
📄 FileManager
Работа с файлами.
Инициализация
use Nurymbet\Phantom\FileSystem\FileManager; $fileManager = new FileManager('/your/root/path');
Методы
new(string $file, string $content = ''): bool
Создаёт новый файл с содержимым (по умолчанию пустым).
del(string $file): bool
Удаляет файл.
read(string $file): string
Возвращает содержимое файла.
write(string $file, string $content, bool $append = false): bool
Записывает или дописывает содержимое в файл.
rename(string $from, string $to): bool
Переименовывает файл.
copy(string $from, string $to): bool
Копирует файл.
exists(string $file): bool
Проверяет существование файла.
getSize(string $file): int|false
Возвращает размер файла в байтах.
getMimeType(string $file): string|false
Определяет MIME-тип файла.
getExtension(string $file): string
Возвращает расширение файла.
getBasename(string $file): string
Возвращает имя файла без пути.
getDirname(string $file): string
Возвращает путь к директории.
getPermissions(string $file): int|false
Получает права доступа к файлу.
setPermissions(string $file, int $permissions): bool
Устанавливает права доступа.
getOwner(string $file): int|false
Возвращает ID владельца.
📁 FolderManager
Работа с директориями.
Инициализация
use Nurymbet\Phantom\FileSystem\FolderManager; $folderManager = new FolderManager('/your/root/path');
Методы
new(string $name, int $permission = 0777, bool $recursive = false): bool
Создаёт новую папку.
del(string $name): bool
Удаляет папку.
rename(string $from, string $to): bool
Переименовывает папку.
copy(string $from, string $to): bool
Копирует папку рекурсивно.
move(string $from, string $to): bool
Перемещает папку.
exists(string $name): bool
Проверяет существование папки.
getRoot(): string
Возвращает корневую директорию.
listFolders(?string $folder = null): array
Возвращает список подпапок.
clearFolder(string $folder): bool
Удаляет всё содержимое внутри папки, но не саму папку.
isEmpty(string $folder): bool
Проверяет, пуста ли папка.
hasAccess(string $folder): bool
Проверяет доступ к папке (чтение/запись).
setPermissions(string $folder, int $permission): bool
Устанавливает права доступа к папке.
getPermissions(string $folder): int|false
Возвращает текущие права доступа.
static sanitizeFolderName(string $name): string
Очищает имя папки от нежелательных символов.
🔍 Примеры использования
Работа с файлами
use Nurymbet\Phantom\FileSystem\FileManager; $fileManager = new FileManager('/var/www/app/storage'); $fileManager->new('example.txt', 'Привет, мир!'); $content = $fileManager->read('example.txt'); $fileManager->write('example.txt', "\nДобавка", true);
Работа с папками
use Nurymbet\Phantom\FileSystem\FolderManager; $folderManager = new FolderManager('/var/www/app/storage'); $folderManager->new('logs'); $folderManager->isEmpty('logs'); // true $folderManager->clearFolder('logs');