Bonjour,

J'ai un script qui se connect sur un serveur via ssh pour uploader et downloader des fichiers.
J'arrive a uploader les fichiers mais pas a les downloader. Je bloquer donc je demandes votre aide.
Voici le code pour l'upload qui foncionne :

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
 
$local = $dir.$file;
$remote = $remotedir.$file;
if(file_exists($local)){
	// lit le contenu du fichier en local
	$handle = fopen($local, "r");
	$contents = "";
	while(!feof($handle))
		  $contents .= fread($handle, 8192);
	fclose($handle);
 
	// ecrit le contenu sur le fichier distant
	$sftp = ssh2_sftp($this->conn_id);
	$stream = fopen("ssh2.sftp://$sftp".$remote, "w");
	if(!fwrite($stream, $contents))
                echo "upload échoué : $file";
	fclose($stream);
}
et voici mon code pour le download :
Le code "faux" est situé entre les lignes de commentaires :// marche pas // et // fin marche pas//. Quand le script est lancé le while a l'air de boucler à l'infini.
$t[0] represente le nom du fichier a downloader

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
 
$sftp = ssh2_sftp($this->conn_id);
// lit le contenu des fichiers distants
$remote = $remotedir.$t[0];
 
 
$stream = fopen("ssh2.sftp://$sftp".$remote, "r");
// marche pas //
while(!feof($stream))
	  $contents .= fread($stream, 8192);
fclose($stream);
// fin marche pas //
 
// écrit le contenu dans les fichiers en local
$local = $dir.$t[0];
$handle = fopen($local, "w");
if(!fwrite($handle, $contents))
	echo "upload échoué : ".$t[0];
fclose($handle);
 
fclose($stream);
Merci.
Si vous avez des liens d'aides sur cette bibliotheque (autre que php.net ) n'hésitez pas.