Ho trovato un codice che funziona. Tuttavia non mi reindirizza alla pagina di provenienza come vorrei. Mi sapreste dire come mai e cosa devo cambiare? Il mio sospetto è che sia a causa del doppio return true finale.
Il codice è questo:
codice:
function deleteDir($dir) {
if (substr($dir, strlen($dir)-1, 1) != '/') $dir .= '/';
echo $dir;
if ($handle = opendir($dir)) {
while ($obj = readdir($handle)) {
if ($obj != '.' && $obj != '..') {
if (is_dir($dir.$obj)) {
if (!deleteDir($dir.$obj)) return false;
} elseif (is_file($dir.$obj)) {
if (!unlink($dir.$obj)) return false;
}
}
}
closedir($handle);
if (!@rmdir($dir)) return false;
return true;
}
return true;
}
if (file_exists($nome_cartella."/thumbs")) {
deleteDir($nome_cartella."/thumbs");
}
if (file_exists($nome_cartella)) {
deleteDir($nome_cartella);
}
header("Location: elenchi.php");
Mi dice che il redirect non viene fatto poichè è già stato richiesto in precedenza. La pagina resta ferma all'avviso. Però tutto il materiale, le sottocartelle e la cartella principale vengono cancellati ed è un buon passo avanti.