Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di giacomino_jack
    Registrato dal
    Feb 2002
    residenza
    Italy
    Messaggi
    202

    Cancellazione ricorsiva su server FTP ... con classe

    Ho trovato sul manuale on line di PHP (http://it2.php.net/manual/it/function.ftp-rmdir.php ) la cancellazione ricorsiva di una directory piena da un server FTP.

    Fin qui tutto bene ma...

    ...includendo la finzione in una classe non riesco a capire come fare la chimata ricorsiva della funzione stessa.

    Questo il codice ( e quando usatelo pensatemi ... ) :
    codice:
    				
    // CANCELLAZIONE DI UN FILE O DI UNA DIRCTORY (SE PIENA CANCELLA IN MODO RICORSIVO TUTTO IL CONTENUTO)
    function CancellaFileDir($PathNomeFileDir) {
      $this->Errore = 0;
    
      echo "
    Delete di " . $PathNomeFileDir;
      // Se NON si riesce ad effettuare la cancellazione del FileDir richiesto... (Directory piena)
      if (!(@ftp_rmdir($this->ConnessioneFTP, $PathNomeFileDir) || @ftp_delete($this->ConnessioneFTP, $PathNomeFileDir))) {
        // ... determina l'elenco dei files contenuti nella directory richiesta...
        $ElencoFiles = @ftp_nlist($this->ConnessioneFTP, $PathNomeFileDir);
        // ... se l'elenco dei files contenuti non è vuoto...
        if (!empty($ElencoFiles)) {
          // ... per ogni file in elenco...
          foreach($ElencoFiles as $FileInElenco) {
            // ... effettua la cancellazione in maniera ricorsiva - QUI DA ERRORE !!!!
            CancellaFileDir($FileInElenco);
          }
        }
        // Effettua la cancellazione del path principale richiesto
        if (!@ftp_rmdir($this->ConnessioneFTP, $PathNomeFileDir)) {
          $this->Errore = 601;
          $this->DescErrore = "Cancellazione via FTP di " . $PathNomeFileDir . " non effettuata per errore.";		
        } else {
          $this->DescErrore = "Cancellazione via FTP di " . $PathNomeFileDir . " effettuata correttamente.";
        }
      }
      if ($this->Errore != 0) {
        $Esito = FALSE;
      } else {
        $Esito = TRUE;
      }
      return $Esito;
    }

  2. #2
    Utente di HTML.it L'avatar di giacomino_jack
    Registrato dal
    Feb 2002
    residenza
    Italy
    Messaggi
    202
    up

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.