OVH Community, votre nouvel espace communautaire.

PHP upload FTP (tache CRON)


Lapinkiller
18/11/2009, 13h37
Bonjour

je pense que le message d'erreur est assez clair, ton login et ton pass sont refusés par le ftp...

iron3d
03/11/2009, 17h35
Merci Ukri, mais j'ai deja tout essayé a ce niveau la.

En fait, l'upload séffectue correctement lorsque la page est apelée par un navigateur WEB. Le probleme est present uniquement lorsque cette meme page est apelée par líntermediaire du service tache planifiée d'OVH. Peut-etre du fait que le server ne peut pas acceder a internet en sortant et réentrant sur le FTP distant.

Voici le message dérreur exact que je recois par email:

-------------------------== Début ==-------------------------
X-Powered-By: PHP/4.4.9
Content-type: text/html

br /
bWarning/b: ftp_login() [a href=function.ftp-loginfunction.ftp-login/a]: Login incorrect. in b/home/login/www/page.php/b on line b10/bbr /
br /
bWarning/b: ftp_put() [a href=function.ftp-putfunction.ftp-put/a]: Please login with USER and PASS. in b/home/login/www/page.php/b on line b16/bbr /
Il y a eu un problme lors du chargement du fichier file.xml
-------------------------== Fin ==-------------------------

Toutes vos idées sont les bienvenus!!!

Ukri
03/11/2009, 16h36
déjà pour le remote_file, la racine n'est pas www/ il me semble mais la racine complète
(pour faire de l'include sur les taches cron je dois appeler /homez.22/[site]/www/...)

si ça peut t'aider...

iron3d
03/11/2009, 13h10
Ok Gaston, merci en tt cas d'avoir essayer d'm'aider.

Si une alternative existe au problème que je rencontre a savoir:
Pourquoi mon script PHP ne parvient-il pas a uploader un fichier sur un FTP distant lorsqu'il est executé a l'aide le planificateur de tache?

D'avance merci pour vos suggestions!!!

Gaston_Phone
03/11/2009, 12h57
Non, et j'ai utilisé toues mes connaissances pour t'aider.
Maintenant je sèche.

iron3d
03/11/2009, 12h45
Personne a rencontré ce probleme auparavant?

iron3d
03/11/2009, 11h08
CURL fonctionne mais dans ce cas la je l'utilise pour remplacer "PHP include" qui fait appel a une page exterieur qui effectue une copie du fichier qui normalement devrait etre uploader par "PHP ftp".

Le but est de faire appel a une seul et unique page qui ferait le boulot a elle toute seule.

C'est possible ?

Gaston_Phone
03/11/2009, 11h01
Pourquoi, n'essaies-tu pas avec les commandes curl :
Code PHP:
$ch_rech curl_init();  // Initialiser cURL.
curl_setopt($ch_rechCURLOPT_URL$url);  // Indiquer quel URL récupérer
curl_setopt($ch_rechCURLOPT_HEADER0);  // Ne pas inclure l'header
ob_start();  // Activer le buffer.
curl_exec($ch_rech);  // Exécuter la requète.
curl_close($ch_rech);  // Fermer CURL.
$Contenuob_get_contents();  // Récupérer le contenu 
ob_end_clean();  // Vider le buffer. 

iron3d
03/11/2009, 10h47
Bonjour ,

Je reviens vers vous car j'ai deja expoosé mon probleme sur ce forum mais je ne l'ai tjs pas résolu. J'ai mis en place une tache planifiée par l'intermediaire du manager d'OVH qui appel un script PHP.

J'utilise le script suivant pour l'upload d'un fichier hebergé sur un sever que l'on nommera FTP-1 vers un secon server FTP-2. Tous deux sont hebergés chez OVH.

Voici le script PHP que j'utilise:

Code PHP:
#!/usr/local/bin/php  

$file 'file.xml'
$remote_file 'www/'.$file

// Mise en place d'une connexion basique 
$conn_id ftp_connect('ftp.xxxx.com'); 

// Identification avec un nom d'utilisateur et un mot de passe 
$login_result ftp_login($conn_id'xxxx''xxxx'); 

// Activation du mode passif 
ftp_pasv($conn_idtrue); 

// Chargement d'un fichier 
if (ftp_put($conn_id$remote_file$fileFTP_ASCII)) {  
echo 
"Le fichier $file a été chargé avec succès\n"
}  
else {  
echo 
"Il y a eu un problème lors du chargement du fichier $file\n"


// Fermeture de la connexion 
ftp_close($conn_id); 
?>
Ce script fonctionne parfaitement lorsque je le lance par mon l'intermediaire de mon navigateur internet. Alors que lorsque il est planifié, la tache s'effectue belle et bien, mais l'upload, pas. Je recoit alors dans mes logs un mesage d'erreur du type "ftp-login... incorrect LOGIN or PASSWORD".

Comment puis-je regler ça ?