आप सिम्फनी के फाइलसिस्टम ( कोड ) का उपयोग कर सकते हैं :
// composer require symfony/filesystem
use Symfony\Component\Filesystem\Filesystem;
(new Filesystem)->remove($dir);
हालाँकि मैं इस पद्धति के साथ कुछ जटिल निर्देशिका संरचनाओं को नहीं हटा सका, इसलिए पहले आपको यह सुनिश्चित करने के लिए प्रयास करना चाहिए कि यह ठीक से काम कर रहा है।
मैं विंडोज विशिष्ट कार्यान्वयन का उपयोग करके उक्त निर्देशिका संरचना को हटा सकता हूं:
$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);
}