Bạn có thể sử dụng Symfony's Filesystem ( mã ):
// composer require symfony/filesystem
use Symfony\Component\Filesystem\Filesystem;
(new Filesystem)->remove($dir);
Tuy nhiên tôi không thể xóa một số cấu trúc thư mục phức tạp bằng phương pháp này, vì vậy trước tiên bạn nên thử nó để đảm bảo nó hoạt động tốt.
Tôi có thể xóa cấu trúc thư mục đã nói bằng cách sử dụng Windows cụ thể:
$dir = strtr($dir, '/', '\\');
// quotes are important, otherwise one could
// delete "foo" instead of "foo bar"
system('RMDIR /S /Q "'.$dir.'"');
Và chỉ để hoàn thiện, đây là một mã cũ của tôi:
function xrmdir($dir) {
$items = scandir($dir);
foreach ($items as $item) {
if ($item === '.' || $item === '..') {
continue;
}
$path = $dir.'/'.$item;
if (is_dir($path)) {
xrmdir($path);
} else {
unlink($path);
}
}
rmdir($dir);
}