Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346

    eliminare cartelle dal disco con tutto il contenuto

    ciao,
    esiste una funzione che mi permette di cancellare una cartella dal disco indipendentemente dal fatto che essa sia vuota oppure che in essa ci siano file?

    io conosco --> rmdir("mio percorso");
    ma con questa mi dice che la cartella non è vuota!!
    :master:

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    867
    mi puzza che devi per forza aprire la directory e cancellare tutti file in essa contenuta, usando opendir, readdir e unlink.....

    Poi puoi cancellare la directory con rmdir...

    No pvt per sollecitare risposte, grazie.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    346
    usando solo il comando rmdir non mi cancella i file presenti dentro essa che possono essere da uno(minimo) a molti!! cmq ho risolto usando una funzione che ho trovato qua nelle varie discusioni..dopo numerose ricerche!!

    ora effettua una attenta verifica dei vari dati che gli passo e effettua una pulizia ottimale!!

    Grazie mille!!
    questa è la funzione che ho utilizzato:

    Codice PHP:
    function deldir($dir

      
    $handle opendir($dir); 
      while (
    false!==($FolderOrFile readdir($handle))) 
      { 
         if(
    $FolderOrFile != "." && $FolderOrFile != ".."
         { 
           if(
    is_dir("$dir/$FolderOrFile")) 
           { 
    deldir("$dir/$FolderOrFile"); }  // recursive 
           
    else 
           { 
    unlink("$dir/$FolderOrFile"); } 
         } 
      } 
      
    closedir($handle); 
      if(
    rmdir($dir)) 
      { 
    $success true; } 
      return 
    $success

    @edit
    l'utente dal quale ho preso la funzione è -> triky
    grazie mille!! ciao

  4. #4
    Come definisco il percorso della cartella da cancellare??

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    funziona anche con sottocartelle?
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  6. #6
    si..funziona anche con le sotto cartelle..quando ne trova una richama se stessa..
    La programmazione...
    che passione!!..

  7. #7
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    è qui che mi frega!!!!

    nel codice scritto come viene espressa le recursività? non mi entra in testa
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  8. #8
    Codice PHP:
    function deldir($dir

      
    $handle opendir($dir); 
      while (
    false!==($FolderOrFile readdir($handle))) 
      { 
         if(
    $FolderOrFile != "." && $FolderOrFile != ".."
         { 
           if(
    is_dir("$dir/$FolderOrFile")) // se il file è un cartella 
           

            
    deldir("$dir/$FolderOrFile"); // richiama la funzione deldir(), che guarda caso è questa..
            
    }                                   // capito?
           
    else 
           { 
    unlink("$dir/$FolderOrFile"); } 
         } 
      } 
      
    closedir($handle); 
      if(
    rmdir($dir)) 
      { 
    $success true; } 
      return 
    $success

    La programmazione...
    che passione!!..

  9. #9
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    mi era sfuggito quel particolare.... quindi la ricursività non sta in richiami interni alla funzione, ma al richiamo della funzione stessa con l'aggiornalmento della variabile passata...
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  10. #10
    si piu o meno...cmq si chiama ricorsivita...nn ricursivita..
    La programmazione...
    che passione!!..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.