mirror of
https://github.com/avecms/AVE.cms.git
synced 2026-08-01 08:45:44 +00:00
1.3 KiB
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()рекурсивно удаляет всё внутри — проверяйте путь перед вызовом.