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] scandir et ftp_nlist


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut [FTP] scandir et ftp_nlist
    Salut,

    Je souhaite lister les répertoire d'un FTP distant ou local.
    Quand j'utilise scandir(), il me renvoit l'erreur: Function inexistante ( : : )
    Quand j'utilise ftp_nlist, il ne parvient pas du tout à lister, même si mes paramètres sont bons.

    Voila mon code:
    <?php
    function&#160;listrepertory($directory,&#160;$specialftp="")&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;if&#160;(empty(
    $specialftp))&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    $contents&#160;=&#160;scandir($directory)&#160;&#160;or&#160;die&#160;(CANT_LIST);
    &#160;&#160;&#160;&#160;&#160;&#160;}
    &#160;&#160;&#160;&#160;&#160;&#160;else&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;
    $contents&#160;=&#160;ftp_nlist($this->openftp,&#160;$directory);
    &#160;&#160;&#160;&#160;&#160;&#160;}
    &#160;&#160;&#160;&#160;&#160;&#160;foreach&#160;(
    $contents&#160;AS&#160;$file)&#160;{
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&#160;(
    is_file($file))&#160;$prefix&#160;=&#160;'Type:&#160;fichier,&#160;nom:&#160;';
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if&#160;(
    is_dir($file))&#160;$prefix&#160;=&#160;'Type:&#160;dossier,&#160;nom:&#160;';
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo&#160;
    $prefix.$file.'<br>';
    &#160;&#160;&#160;&#160;&#160;&#160;}
    &#160;&#160;&#160;}
    ?>

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    PHP4 ou PHP5 ?

  3. #3
    Membre Expert
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Par défaut
    Citation Envoyé par Mr N.
    PHP4 ou PHP5 ?
    lol

    scandir réservé à php5...

    ;-)

  4. #4
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Ah oui j'ai la 4.3... je pensais avoir la dernière.
    Je vais utiliser des readir alors
    Sinon pour la question de ftp aucune idée?

    Merci

  5. #5
    Membre éprouvé
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Par défaut
    Je ne comprends pas j'utiliser readdir() et voila mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($handle = opendir($directory)) {
                while (false !== ($file = readdir($handle))) {
                   if ($file != "." && $file != "..") {
                      if (is_file($file)) $prefix = ' (fichier)';
                      if (is_dir($file)) $prefix = ' (dossier)';
                      echo '- '.$file.$prefix.'<br>';
                   }
               }
    Logiquement je tombe toujours sur des fichiers ou dossier donc prefixe est toujours défini. Quand je mets comme répertoire . ça fonctionne mais quand je mets dir2 ou dir/dir il me met des undefined variable prefix
    Pourquoi ça?

    Ps: oui prefix devraient être normalement apellé suffixe

  6. #6
    Membre émérite
    Avatar de Kioob
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 550
    Par défaut
    "$file" contient uniquement le nom du fichier (ou dossier)....

    Par exemple, ton script est dans le dossier "/home/www/bidule/", et tu parcours le dossier "/home/images" avec opendir(), parmis les fichiers tu vas avoir "toto.jpg". Si tu fais un "is_file( $file )", cela va vérifier l'existence du fichier "/home/www/bidule/toto.jpg"...

    La solution ? Bah mettre le chemin complet... "is_file( $directory .'/'. $file )"

Discussions similaires

  1. [] [Réseau] Renommer des fichiers dans un site FTP
    Par JerBi dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 22/08/2003, 00h35
  2. [] [Réseau] Liste des répertoires d'un FTP
    Par Maitre Kanter dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 12/03/2003, 16h39
  3. [] [Réseau] Transfert fichier sur un FTP
    Par CYFL dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 26/02/2003, 17h33
  4. FTP et D5
    Par sdidier dans le forum Web & réseau
    Réponses: 2
    Dernier message: 17/07/2002, 10h45
  5. Problème de transfert FTP sous IIS
    Par thanathz dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h27

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