Files
2026-07-27 12:58:44 +03:00

1.3 KiB

Dir — каталоги

App\Helpers\Dir — операции с директориями.

use App\Helpers\Dir;

Методы

create($dir, $chmod = 0775)

Создать каталог рекурсивно (как mkdir -p).

Dir::create(BASEPATH . '/uploads/2026/07');

exists($dir) / writable($path) / checkPerm($dir)

Существует / доступен на запись / проверка прав.

scan($dir)

Список содержимого каталога.

foreach (Dir::scan($dir) as $entry) { ... }

size($path)

Суммарный размер каталога в байтах (для отображения — через Number::formatSize()).

echo Number::formatSize(Dir::size($uploads));   // '250 МБ'

copy($src, $dst) — рекурсивное копирование.

delete($dir) — удалить каталог со всем содержимым (осторожно).


Рецепты

Гарантировать каталог перед записью файла:

$dir = dirname($path);
if (!Dir::exists($dir)) { Dir::create($dir); }
File::putAtomic($path, $content);

⚠️ Dir::delete() рекурсивно удаляет всё внутри — проверяйте путь перед вызовом.