Bonjour à tous,

J'espère que vous allez bien ?

Je suis actuellement en train de créer un script en PHP qui sera exécuté via une tâche cron sur un serveur A et qui permettra entre autre d'aller récupérer sur un serveur B (FTP) plusieurs fichiers CSV.

Voici mon code actuel :
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
<?php
	ini_set('display_errors', '1');
 
	$ftp_server = "Hôte";
	$ftp_user_name = "UserName";
	$ftp_user_pass = "UserPass";
	$lang = "fr";
	$ftp = ftp_connect($ftp_server);
	// Identification avec un nom d'utilisateur et un mot de passe
	$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
	//Upload des fichiers
	if(ftp_get($ftp, __DIR__ ."/Fichiers_csv/categ/category_2403_".$lang.".csv", "/files/categories/csv/prestashop/category_2403_".$lang.".csv", FTP_ASCII)) {
		if(!ftp_get($ftp, __DIR__ ."/Fichiers_csv/products/product_2403_".$lang.".csv", "/files/products/csv/prestashop/presta_product_2403_".$lang.".csv", FTP_ASCII)) {
			echo "Il y a eu un problème lors de l'envoie du fichier <strong>".__DIR__ ."/Fichiers_csv/products/product_2403_".$lang.".csv</strong>\r\n";
			exit;
		} else {
			echo "Aucun problème lors de l'envoie du fichier <strong>".__DIR__ ."/Fichiers_csv/products/combination_2403_".$lang.".csv</strong>\r\n";
		}
 
		if(ftp_get($ftp, __DIR__ ."/Fichiers_csv/products/combination_2403_".$lang.".csv", "/files/combinations/csv/prestashop/presta_combination_2403_".$lang.".csv", FTP_ASCII)) {
			echo "Aucun problème lors de l'envoie du fichier <strong>".__DIR__ ."/Fichiers_csv/products/combination_2403_".$lang.".csv</strong>\r\n";
		} else {
			echo "Il y a eu un problème lors de l'envoie du fichier <strong>".__DIR__ ."/Fichiers_csv/products/combination_2403_".$lang.".csv</strong>\r\n";
			exit;
		}
	} else {
		echo "Il y a eu un problème lors de l'envoie du fichier <strong>".__DIR__ ."/Fichiers_csv/categ/category_2403_".$lang.".csv</strong>\r\n";
		exit;
	}
 
	// Fermeture de la connexion FTP
	ftp_close($ftp);
?>
Le problème c'est qu'en général j'obtiens le message suivant :
Warning: ftp_get(): Failed to establish connection. in /...
Parfois le premier fichier se transfert sur le serveur A et l'erreur intervient pour le fichier suivant et parfois aucun fichier n'est transféré.

Avez-vous une solution pour résoudre ce problème s'il vous plaît ?

Merci par avance.