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

Bibliothèques et frameworks PHP Discussion :

[SSH2] sftp : comment lister un répertoire distant ?


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut [SSH2] sftp : comment lister un répertoire distant ?
    Bonjour à tous,

    j'utilise le protocole sftp avec libssh2 et je ne sais vraiment pas comment lister un répertoire distant...

    J'arrive à lire un fichier distant comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $connection = ssh2_connect(HOST, 22);
    ssh2_auth_password($connection, USER, PASSWORD);
    $sftp = ssh2_sftp($connection);
    if($stream = fopen("ssh2.sftp://$sftp/path/to/file", 'r')){
    	$contents = fread ($stream, 8192);
    	var_dump($contents);
    }
    mais le problème est qu'avant de le lire, je dois lister le répertoire et définir les fichier qui sont à traiter...

    J'ai essayé pas mal de truc comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $stream = ssh2_exec($connection, 'ls');
    while($line = fgets($stream)) { 
           echo $line."\n"; 
    }
    Mais rien à faire...

    Vous avez une idée ?

    Merci pour vos éclaircissements

  2. #2
    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
    à tout hasard, essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $stream = ssh2_exec($connection, 'ls', false);

  3. #3
    Membre actif Avatar de renaudjuif
    Inscrit en
    Avril 2006
    Messages
    325
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 325
    Points : 258
    Points
    258
    Par défaut
    Super,

    Merci pour la réponse Mr N.

    Je liste tout mon répertoire.

  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
    Tu peux remercier les commentaires de la doc officielle :
    http://php.net/ssh2_exec

    Comme d'hab', une vraie mine d'or cette doc

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    bonjour,
    j'aimerai faire la même chose à la différence que je suis obligé de passer par ssh2_sftp car rssh restreint et m'empêche de passer des commandes avec la fonctions exec().
    Quelqu'un saurait-il comment passer un ls -aR par sftp ?
    Merci d'avance.

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

Discussions similaires

  1. Lister un répertoire distant via FTP
    Par sarah65536 dans le forum Langage
    Réponses: 3
    Dernier message: 09/07/2009, 09h33
  2. Réponses: 8
    Dernier message: 12/11/2007, 12h04
  3. [FTP] Lister un répertoire distant hors "d'apache".
    Par Roro49 dans le forum Langage
    Réponses: 4
    Dernier message: 26/02/2007, 23h39

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