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] Lister les dossiers d'un FTP distant


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut [FTP] Lister les dossiers d'un FTP distant
    Bonjour,

    Je me connecte à un serveur distant par le biais de la fonction ftp_connect().
    J'arrive donc à lister tous les fichiers du repertoire grâce à ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$connexion = ftp_connect($host);
    	ftp_login($connexion, $login, $mdp);
    	$array = ftp_nlist($connexion, "");
    Mon array contient donc tous les FICHIERS, mais je souhaiterai lister uniquement les DOSSIERS. Auriez vous une idée pour faire le tri? Après quelques recherches, je ne trouve aucune fonction permettant de lister les dossiers d'un repertoire.

    Une idée?

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut
    tu peux utiliser cette fonction : is_dir http://no2.php.net/is_dir

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		for($i = 0; $i < count($array); $i++)
    		{
    			if(is_dir($array[$i]))
    			{
    			echo '<option value="'.$i.'">'.$array[$i].'</option>';
    			}
    		}
    Ce bout de code me retourne deux repertoires "." et "..". Pourtant il y en a d'autres !

    Merci pour ton aide.

  4. #4
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Perso jconseil plus le readdir pour parcourir un répertoire (comme l'indique le nom de la fonction^^)

    Sa donnerais un truc genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $open = opendir('./tonrepertoire/');
     
    while (($file = readdir($open)) != false)
    {
        echo $file;
    }
    ?>

  5. #5
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Dites moi si je me trompe, mais vos fonction ne sont pas pour parcourir un repertoire _local_ ?
    Mon script est exécuté sur un serveur A, et doit lister les repertoires d'un serveur B.
    Ta fonction me liste les fichiers du serveur A justement

  6. #6
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    A excuse j'avais mal lu.

    Sinon ta fonction marche correctement en temps normal et ne devrais te retourner que les répertoires, mais faut savoir que ftp_nlist() ne retourne que le contenu d'un dossier et non pas de ces sous-dossiers donc si tu souhaite avoir les sous dossiers sa serait normal qu'il te prenne pas tout^^

  7. #7
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Gaara-Manga Voir le message
    A excuse j'avais mal lu.

    Sinon ta fonction marche correctement en temps normal et ne devrais te retourner que les répertoires, mais faut savoir que ftp_nlist() ne retourne que le contenu d'un dossier et non pas de ces sous-dossiers donc si tu souhaite avoir les sous dossiers sa serait normal qu'il te prenne pas tout^^
    Il me liste bien les fichiers ^^
    Mais moi je veux uniquement les dossiers. Et là, je cale.

  8. #8
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Ta lu ce que j'ai mis ? (histoire d'avancer quoi^^)


    PS : répertoire = dossier j'ai compris ce que tu cherches à faire t'inquiète^^

  9. #9
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Gaara-Manga Voir le message
    Ta lu ce que j'ai mis ? (histoire d'avancer quoi^^)


    PS : répertoire = dossier j'ai compris ce que tu cherches à faire t'inquiète^^
    Bah oui jt'ai lu
    "Sinon ta fonction marche correctement en temps normal et ne devrais te retourner que les répertoires"
    Ma fonction est celle donnée au premier post (ftp_nlist) ?
    Dans ce cas, elle ne me retourne tous les fichiers, repertoires compris (et non pas que les repertoires !)
    "mais faut savoir que ftp_nlist() ne retourne que le contenu d'un dossier et non pas de ces sous-dossiers"
    Peu importe, je veux uniquement le dossier courrant

  10. #10
    Membre actif Avatar de Gaara-Manga
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France, Vienne (Poitou Charente)

    Informations forums :
    Inscription : Avril 2007
    Messages : 247
    Points : 239
    Points
    239
    Par défaut
    Alors ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $connexion = ftp_connect($host);
    ftp_login($connexion, $login, $mdp);
    $array = ftp_nlist($connexion, "");
     
    for($i = 0; $i < count($array); $i++)
    {
        if(is_dir($array[$i]))
        {
            echo '<option value="'.$i.'">'.$array[$i].'</option>';
        }
    }
    ?>
    devrais marcher correctement.

  11. #11
    Candidat au Club
    Inscrit en
    Juillet 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 6
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Gaara-Manga Voir le message
    Alors ton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    $connexion = ftp_connect($host);
    ftp_login($connexion, $login, $mdp);
    $array = ftp_nlist($connexion, "");
     
    for($i = 0; $i < count($array); $i++)
    {
        if(is_dir($array[$i]))
        {
            echo '<option value="'.$i.'">'.$array[$i].'</option>';
        }
    }
    ?>
    devrais marcher correctement.
    Pourtant ce n'est pas le cas :p


    edit > Bon tant pis, je vais dire qu'un repertoire est repertoire si il n'y a pas de point.

    Merci

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

Discussions similaires

  1. [Débutant] Lister les dossiers d'un FTP
    Par Jah73 dans le forum VB.NET
    Réponses: 8
    Dernier message: 17/07/2013, 15h54
  2. Lister les dossiers d'un FTP
    Par cryosore dans le forum ANT
    Réponses: 2
    Dernier message: 10/03/2010, 11h46
  3. lister les dossiers d'un FTP ?
    Par yanker_man dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 06/07/2007, 14h37
  4. [FTP] Lister les fichiers d'un FTP distant
    Par osmoze dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2006, 15h35
  5. [FTP] Lister les fichiers
    Par Noosymer dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 18/03/2006, 19h23

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