メモ。
下記関数に削除したいディレクトリを投げればOK。
投げたディレクトリが相対パス、またはシンボリックリンクの場合、第二引数にtrueを渡すと参照を解決してくれる。
function destroyDir($dir, $virtual = false) { $ds = DIRECTORY_SEPARATOR; $dir = $virtual ? realpath($dir) : $dir; $dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir; if(is_dir($dir) && $handle = opendir($dir)) { while($file = readdir($handle)) { if($file == '.' || $file == '..') { continue; } elseif(is_dir($dir.$ds.$file)) { destroyDir($dir.$ds.$file); } else { unlink($dir.$ds.$file); } } closedir($handle); rmdir($dir); return true; } else { return false; } }