Invité
Invité n'ayant pas de compte PHPfrance
14 nov. 2011, 02:25
Bonjour,
Mon probleme trouve son origine dans ftp_get qui ne marche pas !
Je dois récupérer un fichier log sur un serveur distant afin qu'il alimente une BDD en local.
1- L'acces au serveur via un client FTP et le téléchargement est OK
2- La connexion au serveur dans mon script php avec : ftp_login est OK
3- La lecture du dossier distant avec la fonction ftp_nlist est OK, code ci-dessous :
$contents = ftp_nlist($conn_id, ".");
// Afficher les entrées
var_dump($contents);
4- Par contre le ftp_get ne marche pas ! Voici le code de mon script :
$server_file = './logoart';
$local_file = './log2';
$ftp_server = 'xxx.xxx.xxx.xxx';
// Mise en place d'une connexion basique
$conn_id = ftp_connect($ftp_server);
ftp_pasv($conn_id, true);
$ftp_user_name = 'ftp';
$ftp_user_pass = '020202';
// Identification avec un nom d'utilisateur et un 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 "Connecte a $ftp_server, avec $ftp_user_name";
}
ftp_pasv($conn_id, true);
// Telechargement
$download = ftp_get($conn_id, $local_file, $server_file, FTP_BINARY);
// Vérification du téléchargement
if (!$download) {
[b]echo "Le telechargement ftp a echoue !";[/b]
} else {
echo "Telechargement de $server_file de $ftp_server sur $local_file";
}
Résultat à l'ecran :
Connecte a $ftp_server, avec $ftp_user_name
Le telechargement ftp a echoue !
PS : Les droits sur le fichier distant 777 et sur le repertoire local 777.
Si vous avez une piste cela m'aiderait beaucoup.
Merci,
Frederic