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.