[PHP] Cancellare directory con file al suo interno

felino

Utente Attivo
12 Dic 2013
893
9
18
Aci Catena (Catania)
Buonasera a tutti,
tramite PHP vorrei cancellare una directory compresi tutti i file in essa contenuti.

Un path di esempio e'
/foto_struttura/5/

Come procedere?

Grazie.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.041
146
63
PR
www.borgo-italia.it
ciao
proverei così, ma attento a quello che cancelli, ti conviene mettere inizialmente al posto di unlik un echo o un var_dump per vedere cosa cancelli
PHP:
$cartella="/foto_struttura/5/";//da verificare il percorso
$files=glob($cartella."*.*");//legge i nomi di tutti i file della cartella
//var_dump($files);//prima di cancellare ti conviene verificare quali sono i files interessati
//e eventualmente dare una conferma o soprassedere
foreach($files as $file){
    unlink($file);
}
rmdir($cartella);//rimuove la cartella, attento sempre ai percorsi e quale cartella rimuovere
 

felino

Utente Attivo
12 Dic 2013
893
9
18
Aci Catena (Catania)
Esatto,
ho utilizzato quando da te scritto:

PHP:
function unlinkRecursive($target){
    $files = glob( $target . '*', GLOB_MARK ); //GLOB_MARK adds a slash to directories returned
      
    var_dump($files);
      
    foreach( $files as $file )
    {
        unlink( $file );   
    }
    rmdir( $target );
}

$FullPath = "/foto_struttura/" . $dynamic_id;

unlinkRecursive($FullPath);

echo "Folder rimossa: " . $FullPath;
Grazie ancora.