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] liste de fichier sur un serveur ftp


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut [FTP] liste de fichier sur un serveur ftp
    Bonjour,

    Ce que je veux faire est très simple et comme le dit le titre je veux afficher sur ma page web la liste des fichiers présents sur un serveur ftp.

    Pour ça j'utilise le code ci-dessous:

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
    $ftp_server = "serveur";
    $ftp_user_name = "user";
    $ftp_user_pass = "user";
     
    // Mise en place d'une connexion basique
    $conn_id = ftp_connect($ftp_server);
     
    // Identification avec un nom d'utilisateur et un mot de passe
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
     
    // Vérification de la connexion
    if ((!$conn_id) || (!$login_result)) {
            echo "La connexion FTP a échoué !";
            echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
            exit;
        } else {
            echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
        }
     
    echo "Dossier courant : " . ftp_pwd($conn_id) . "\n";
    // Tentative de modification du dossier en "videos"
    if (ftp_chdir($conn_id, "./videos")) {
        echo "Le dossier courant est maintenant : " . ftp_pwd($conn_id) . "\n";
    } else {
        echo "Impossible de changer de dossier\n";
    }
     
     
    // Récupération du contenu d'un dossier
    $contents = ftp_nlist($conn_id, ".");
    // Affichage de $contents
    var_dump($contents);
     
     
    // Fermeture de la connexion
    ftp_close($conn_id);
     
    ?> 
    <html>
    <head>
    <title>Ftp liste</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>
     
    <body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" >
    </body>
    </html>
    Ma page s'arrete au bout des 30 secondes du timeout sans rien renvoyer alors qu'il n'y a dans ce dossier que quelques fichiers.

    Quelqu'un peut-il me dire s'il y a une erreur quelque part et où?

    Merci.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    ce serait pas plus simple de faire simplement ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function scandir($dir) {
          $d  = opendir($dir);
          while (false !== ($filename = readdir($d))) {
            $files[] = $filename;
          }
          sort($files);
          return $files;
    	}
    la fonction retourne un tableau avec tout les fichier et repertoire contenu dans $dir.
    $dir etant le repertoire dont tu souhaite savoir ce qu il contient.

    voila ++

  3. #3
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Et comment tu te connecte sur le serveur ftp distant avec cette fonction?

  4. #4
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Est-ce que tu es sur d'être bien connecté à ton ftp ?

  5. #5
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Oui puisque je vérifie la connexion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Vérification de la connexion
    if ((!$conn_id) || (!$login_result)) {
            echo "La connexion FTP a échoué !";
            echo "Tentative de connexion au serveur $ftp_server pour l'utilisateur $ftp_user_name";
            exit;
        } else {
            echo "Connexion au serveur $ftp_server, pour l'utilisateur $ftp_user_name";
        }
    Et en plus je change de dossier courant et je vérifie ce changement.

  6. #6
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu dis pourtant que :
    Ma page s'arrete au bout des 30 secondes du timeout sans rien renvoyer
    Qu'est-ce-qui s'affiche alors ? rien ou "Connexion effectuée..." ?

  7. #7
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Il m'affiche :

    Connexion au serveur serveur, pour l'utilisateur userDossier courant : / Le dossier courant est maintenant : /videos
    Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\wamp\www\test\ftpliste.php on line 32
    le ligne 32 etant:
    $contents = ftp_nlist($conn_id, ".");
    Quand je dis qu'il n'affiche rien mais que j'arrive à me connecter ça veux dire qu'il ne m'affiche pas la liste des fichiers demandé.

  8. #8
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut Re: liste de fichier sur un serveur ftp
    Et avec ceci ca donne quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Mise en place d'une connexion basique
    $conn_id = ftp_connect($ftp_server);
     
    // Identification avec un nom d'utilisateur et un mot de passe
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
     
    $mode = ftp_pasv($conn_id, TRUE);
     
    // Vérification de la connexion
    if ((!$conn_id) || (!$login_result) || (!$mode)) {
            echo "La connexion FTP a échoué !";
       .....

  9. #9
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    YYYEEEESSSSS!!!!!

    C'était ça! Il lui fallait le mode passif.

    MERCI.

  10. #10
    Expert éminent 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
    Points : 6 449
    Points
    6 449
    Par défaut
    Tu peux remercier les commentaires de la doc
    http://php.net/ftp_nlist#36515

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

Discussions similaires

  1. Réponses: 17
    Dernier message: 18/08/2006, 13h13
  2. Envoyer un fichier sur un serveur FTP par proxy
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/12/2005, 16h39
  3. Envoi de fichier sur un serveur FTP
    Par pepe2006 dans le forum Access
    Réponses: 6
    Dernier message: 02/12/2005, 10h19
  4. Réponses: 4
    Dernier message: 15/09/2005, 13h27
  5. [FTP] Test de l'existence d'un fichier sur un serveur ftp
    Par lapartdombre dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 01/08/2005, 14h13

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