Удалить каталог и все файлы в

Я использовал следующую строку для создания каталога на моем сервере:

mkdir("/var/www/cache/$directory", 0700);

Затем я скопировал в него несколько файлов, используя это:

copy($remote, $local);

Теперь я пытаюсь удалить каталог и весь его файл с этим, но это не сработает:

$local = "/var/www/cache/$directory";
$removed = unlink($local);

Есть ли способ сделать это с помощью однострочника, а не цикла for или чего-то подобного?


person Mr. Cockadookie    schedule 17.10.2014    source источник


Ответы (1)


Вы можете сделать это с помощью класса RecursiveIteratorIterator в php.

Простой пример из здесь будет

$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::CHILD_FIRST
);

foreach ($files as $fileinfo) {
$todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
$todo($fileinfo->getRealPath());
}

rmdir($dir);

Также здесь описано множество методов ..

person Avinash Babu    schedule 17.10.2014