คุณสามารถใช้ระบบไฟล์ของ Symfony ( รหัส ):
// composer require symfony/filesystem
use Symfony\Component\Filesystem\Filesystem;
(new Filesystem)->remove($dir);
อย่างไรก็ตามฉันไม่สามารถลบโครงสร้างไดเรกทอรีที่ซับซ้อนด้วยวิธีนี้ได้ดังนั้นก่อนอื่นคุณควรลองเพื่อให้แน่ใจว่ามันทำงานได้อย่างถูกต้อง
ฉันสามารถลบโครงสร้างไดเรกทอรีดังกล่าวโดยใช้การใช้งานเฉพาะของ Windows:
$dir = strtr($dir, '/', '\\');
// quotes are important, otherwise one could
// delete "foo" instead of "foo bar"
system('RMDIR /S /Q "'.$dir.'"');
และเพื่อความสมบูรณ์นี่คือรหัสเก่าของฉัน:
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);
}