Bonjour,
J'essaye de capturer une serie de fichier accessibles pour certains par http, d'autres par ftp, je n'ai aucun controle la dessus.
J'ai donc essaye ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $flux['machin'] = "http://www.machin.com/fic_xml/machin.xml"; $flux['truc'] = "http://www.truc.com/images/m3/CS/truc.zip"; $flux['blah'] = "ftp://user:pass@trucmuche.com/trucmuche.xml"; $flux['blooh'] = "ftp://user:pass@bidule.fr/bidule.zip"; etc... foreach($flux as $key=>$value) { //echo $value; $mon_flux = file_get_contents($value); file_put_contents("/var/www/tests/flux/".$key.".".substr($value,-3), $mon_flux); chmod("/var/www/tests/flux/".$key.".".substr($value,-3), 0777); }
Ca marche bien pour le http, et pour CERTAINS ftp.. mais pas tous, et la est mon probleme !!
Pour certains ftp il me sort cette erreur :
Warning: file_get_contents(ftp://.../machin.zip) [function.file-get-contents]: failed to open stream: FTP server reports 550 file does not exist in /var/www/tests/ceto.php on line 13
Alors que quand j'essaye avec les fonctions FTP classiques de php, ca marche :
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 $ftp_server = "blah"; $ftp_user_name="user"; $ftp_user_pass="pass"; $server_file="truc.zip"; $local_file="/var/www/tests/flux/truc.zip"; // Création de la connexion $conn_id = ftp_connect("$ftp_server"); // Authentification avec nom de compte et 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 à $ftp_server avec $ftp_user_name"; die; } else { echo "Connecté à $ftp_server, avec $ftp_user_name"; } if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { echo "Le fichier $local_file a été écris avec succès\n"; } else { echo "Il y a un problème\n"; } // Fermeture de la connexion FTP. ftp_quit($conn_id);
D'ou peut venir le probleme ?? parce que ca me simplifierait bien la vie de tout obtenir par file_get_contents plutot qu'une fonction ftp speciale pour les fichiers ftp.. !






Répondre avec citation

Avant toutes questions : 
Partager