IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[FTP] Suppression d'un serveur FTP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut [FTP] Suppression d'un serveur FTP


    j'ai creé une application (à l'aide du code PHP) qui gere le contenu d'un serveur FTP.
    Le problleme que je bloque sur la fonction de suppression : Je trouve pas comment on peut supprimer des dossiers (RECURSIVEMENT).
    Alors si qq a une idee sur une fonction ou un script à propos de mon probleme n'hezitez pas à le poster.

    Merci d'avance

  2. #2
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    // $path est le chemin relatif au fichier php
    // $deldir (paramètre optionel, par défaut à vrai) si vrai, supprime le répertoire, le vide seulement sinon
     
    function suppr_rec($path, $deldir = true) 
    {
     
      // on vérifie d'abord que le nom du repertoire contient "/" à la fin, sinon on le lui rajoute
      if ($path[strlen($path)-1]!=DIRECTORY_SEPARATOR) $path.=DIRECTORY_SEPARATOR;
     
      if (is_dir($path)) 
      {
        $d=opendir($path);    
        while ($f=readdir($d)) 
        {
          if ($f!='.' && $f!='..') 
          {
            $rf=$path.$f; // chemin relatif au fichier php
     
            // si c'est un répertoire on appel récursivement la fonction
            if(is_dir($rf)) suppr_rec($rf);
            // sinon on efface le fichier
            else unlink($rf);
          }
        }
        closedir($d);
        // si $deldir est vrai on efface le répertoire
        if ($deldir) rmdir($path);
      }
      else unlink($path);
    }
    Pourquoi il faut que se soit obligatoirement récursif ?

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    J'avais utilisé cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    /**
     * @param $ftpid la connexion au serveur FTP (résultat de la fonction ftp_connect)
     * @param $file nom du fichier à supprimer
     * @return vrai si la suppression a eu lieu sinon faux
     **/
    function delete_recursive($ftpid, $file) {
        if ($ftpid) {
            if (@ ftp_chdir($ftpid, $file)) {
                $contents = ftp_nlist($ftpid, '.');
                if (is_array($contents)) {
                    $pwd = ftp_pwd($ftpid);
                    foreach ($contents as $v) {
                        if (!delete_recursive($ftpid, "$pwd/$v")) {
                            return FALSE;
                        }
                    }
                }
                unset($contents);
                return ftp_rmdir($ftpid, $file);
            } else {
                return ftp_delete($ftpid, $file);
            }
        }
        return FALSE;
    }

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut


    Merci pour votre attention , vraiment vous etes les meileurs :
    j'ai essayé les deux scripts avec le premier j'ai trouvé qq problemes mais le deuxiemes fonctionne 100%.
    Alors encore merci et bonne contuniation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Taille d'un serveur FTP et espace restant
    Par hedgehog dans le forum Langage
    Réponses: 4
    Dernier message: 15/04/2008, 16h04
  2. comment transférer un fichier d'un serveur ftp unix vers un client ftp dos ?
    Par chercheur3 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 21/06/2007, 11h47
  3. [FTP] Configurer php avec Serveur FTP fillezilla
    Par metrax dans le forum Langage
    Réponses: 2
    Dernier message: 27/04/2007, 12h30
  4. [FTP] Statut d'un serveur FTP
    Par xStouf dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2007, 22h31
  5. [FTP] [FileZilla Server] Configuration Serveur FTP
    Par bestdomdom dans le forum Serveurs (Apache, IIS,...)
    Réponses: 2
    Dernier message: 02/06/2006, 08h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo