Wiadomo, że funkcja rmdir() kasuje tylko puste katalogi. Jeśli jednak będzie w nich jakaś zawartość, wyratuje Was ta funkcja:
function DeleteDir($path, $katalog){
$k = $katalog;
$katalog .= "/";
$dir = opendir($path.$katalog);
$i=1;
while($plik = readdir($dir)) {
if($plik != "." && $plik != ".."){
if(is_dir($path.$katalog.$plik)){
$result = $result && DeleteDir($path.$katalog,$plik);
}else{
unlink($path.$katalog.$plik);
}
}
}
closedir($dir);
return $result && rmdir($path.$k);
} |
Zwraca ona 1, jeśli wszystkie podkatalogi itp. zostały usunięte. W funkcji została wykorzystana zasada rekurencji.