Удалить папку с содержимым

Иногда бывает нужно быстро удалить папку со всеми входящими в ней папками и файлами. Чтобы удалить папку со всем содержимым, используйте следующий простой PHP скрипт:

<?
/**
 * удалить директорию со всеми вложенными файлами
 * @param $dir
 * @return bool
 */
function delDir($dir) {
    $files = array_diff(scandir($dir), ['.','..']);
    foreach ($files as $file) {
        (is_dir($dir.'/'.$file)) ? delDir($dir.'/'.$file) : unlink($dir.'/'.$file);
    }
    return rmdir($dir);
}
?>

Скрипт оформлен в виде функции. Если вы хотите использовать скрипт удаления содержимого папки в составе класса, то запишите так:

/**
 * удалить директорию со всеми вложенными файлами
 * @param $dir
 * @return bool
 */
static function delDir($dir) {
    $files = array_diff(scandir($dir), ['.','..']);
    foreach ($files as $file) {
        (is_dir($dir.'/'.$file)) ? self::delDir($dir.'/'.$file) : unlink($dir.'/'.$file);
    }
    return rmdir($dir);
}

Если Вы заранее не знаете, какие права у файла и можно ли его удалить, то перед удалением добавьте команду установки прав:

chmod( $dir.'/'.$file, 0777 );

Также можно удалить папку со всеми файлами с помощью системного вызова:

exec("rm -rf /path/to/directory/*");

.