J'ai le problème suivant : j'ai installé sur un serveur linux PHP/Apache/... et j'ai installé correctement la librairie ssh2. Pour l'upload en ssh2, aucun problème. Maintenant je souhaite parcourir un dossier afin de lister son contenu (il peut contenir des sous-dossiers). J'ai fait selon le manuel PHP. J'arrive a me connecter et m'identifier sur le serveur SFTP, puis j'arrive à faire l'opendir en ssh2 (affiche le message "OPEN DIR OK" ) mais j'obtiens un problème au niveau de readdir : ma page m'affiche un beau "Erreur de chargement de la page. La connexion a été réinitialisée"... Pourtant tout semble correcte. Mais quand je parcours le dossier sans ssh2 avec readdir, là il parvient à le lister... Si quelqu'un a une idée pour ce readdir ou un autre moyen de lister le dossier en sftp, je suis preneur
Marsh Posté le 28-10-2013 à 11:56:15
Bonjour à tous,
J'ai le problème suivant : j'ai installé sur un serveur linux PHP/Apache/... et j'ai installé correctement la librairie ssh2. Pour l'upload en ssh2, aucun problème.
Maintenant je souhaite parcourir un dossier afin de lister son contenu (il peut contenir des sous-dossiers). J'ai fait selon le manuel PHP. J'arrive a me connecter et m'identifier sur le serveur SFTP, puis j'arrive à faire l'opendir en ssh2 (affiche le message "OPEN DIR OK" ) mais j'obtiens un problème au niveau de readdir : ma page m'affiche un beau "Erreur de chargement de la page. La connexion a été réinitialisée"... Pourtant tout semble correcte. Mais quand je parcours le dossier sans ssh2 avec readdir, là il parvient à le lister... Si quelqu'un a une idée pour ce readdir ou un autre moyen de lister le dossier en sftp, je suis preneur
Voici mon code:
<?php
if(ssh2_auth_password($resConnection, $strServerUsername, $strServerPassword))
{
//Initialize SFTP subsystem
$resSFTP = ssh2_sftp($resConnection);
if($dossier = opendir("ssh2.sftp://".$resSFTP."/home/fleetsupport/Procedures" ))
{
echo("OPEN DIR OK" );
while(false !== ($fichier = readdir($dossier)))
{
echo("Listing DIR OK" );
}
}
else
{
echo 'Le dossier n\' a pas pu être ouvert';
}
}
?>