Salve, avrei l'esigenza di cancellare una cartella piena dando un comando action.
Lo faccio con questo codice
Il codice funziona ma credo che non sia ottimizzato per nulla, soprattutto quando tento di gestire gli errori. Qualcuno può darmi una mano?
Soprattutto questa parte qui non mi è chiara
la funzione l'ho presa da php.net
Lo faccio con questo codice
PHP:
$cartella = 'install/';
if ((isset($_POST['Elimina'])) && ($action == "scrivi")){
function rrmdir($dir)
{
$return = array();
if (is_dir($dir))
{
$return[] = 'Trovata cartella: '.$dir;
$objects = scandir($dir);
foreach ($objects as $object)
{
if ($object != "." && $object != "..")
{
if (filetype($dir."/".$object) == "dir")
{
$return[] = 'Trovata sottocartella: '.$dir."/".$object;
rrmdir($dir."/".$object);
}
else
{
$return[] = 'Trovato file: '.$dir."/".$object;
unlink($dir."/".$object);
}
}
}
reset($objects);
rmdir($dir);
}
else
{
$return[] = 'La cartella '.$dir.' non esiste';
}
return $return;
}
$settare_cartella = 'install';
$esegui_cancellazione = rrmdir($settare_cartella);
foreach($esegui_cancellazione as $kk => $vv)
{
echo $vv.'<br />';
}
if (!is_dir($cartella)){
echo "<p><font color='green'>Successo</font> - La cartella e i file contenuti in essa sono stati eliminati correttamente!</p>";
header("Refresh: 4; url=" . $_SERVER["PHP_SELF"]);
} elseif (is_dir($cartella) || !is_writable($cartella)){
echo "<p><font color='red'>Errore</font> - Impossibile eliminare la cartella!</p>\n";
echo "<p><font color='red'>Errore</font> - La cartella 'install' non risulta scrivibile!</p>\n";
echo "Verificare i permessi di lettura/scrittura CHMOD e riprovare.</p>\n";
echo "La visualizzazione di quest'errore può comportare errori durante l'installazione. Prego correggere i permessi dei file e procedere con un'installazione pulita.</p>\n";
die;
}
}
Il codice funziona ma credo che non sia ottimizzato per nulla, soprattutto quando tento di gestire gli errori. Qualcuno può darmi una mano?
Soprattutto questa parte qui non mi è chiara
PHP:
$settare_cartella = 'install';
$esegui_cancellazione = rrmdir($settare_cartella);
foreach($esegui_cancellazione as $kk => $vv)
{
echo $vv.'<br />';
}
la funzione l'ho presa da php.net
Ultima modifica: