ftp to ftp par page php

ftp to ftp par page php - PHP - Programmation

Marsh Posté le 16-08-2005 à 15:39:20    

Bonjour,
 
J'ai un site en ligne sur un ftp (ftp1) et un autre site de mise à jour sur un autre ftp (ftp2).
Je cherche à a transferer tout les fichiers contenu dans le ftp1 vers le ftp2 par le biais d'une page php.
 
J'ai ce code mais qui me pose problème. Il ne marche pas.
 

Citation :

?php
 
// création de la connexion
 
$ftp_server="ftp.blabla.fr";
$ftp_user_name="aupif";
$ftp_user_pass="aupif";
 
$source_file=dir('/');
$destination_file=dir('/');
 
// 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";
}
 
// Téléchargement du contenu de mon répertoire
 
$upload = ftp_get($conn_id, "$destination_file", "$source_file", FTP_ASCII);
 
// Vérification de téléchargement
 
if (!$upload) {
echo "Le téléchargement Ftp a échoué!";
} else {
echo "Téléchargement de $source_file sur $ftp_server en $destination_file";
}
 
// Fermeture de la connexion FTP.
 
ftp_quit($conn_id);


 
 
 
De plus, je souhaiterai exclure un dossier qui se trouve à la racine.
Quelqu'un peu m'aider?

Reply

Marsh Posté le 16-08-2005 à 15:39:20   

Reply

Marsh Posté le 16-08-2005 à 15:40:30    

Dl un logiciel ftp gratos.... :lol:

Reply

Marsh Posté le 16-08-2005 à 15:42:54    

Non je veux le faire en php pour ne pas avoir à etre sur une machine qui a un logiciel ftp pour faire le transfert justement

Reply

Marsh Posté le 16-08-2005 à 17:45:06    

À quel moment le script bloque? Le code a l'air bon...
Peut-être que le FTP de "mise à jour" est derrière un firewall/routeur, ce qui nécessiterai l'usage du mode ftp passif à l'aide de ftp_pasv
 
Après ton ftp_login, rajoutes ftp_pasv($conn_id, true);


Message édité par dotfx le 16-08-2005 à 17:46:32

---------------
www.renderfarm.online
Reply

Marsh Posté le 16-08-2005 à 17:50:54    

En fait c'est deux ftp free.fr

Reply

Marsh Posté le 16-08-2005 à 17:51:11    

Alors je c pas si il faut du passif ou non

Reply

Marsh Posté le 16-08-2005 à 17:51:35    

quelqu'un peut le tester pour me dire si il fonctionne chez lui ?

Reply

Marsh Posté le 16-08-2005 à 18:03:57    

T'as essayé? Ça ne marche toujours pas?
Peut-être que free, tout comme la fonction mail(), a bridé les fonctions ftp...


---------------
www.renderfarm.online
Reply

Marsh Posté le 16-08-2005 à 18:07:17    

je c pas il faudra que je me renseigne.

Reply

Marsh Posté le 16-08-2005 à 18:11:29    

Bingo.
 
http://faq.free.fr/?q=1137
"A noter: Les modules ftp, imap ne sont pas installés."


---------------
www.renderfarm.online
Reply

Marsh Posté le 16-08-2005 à 18:11:29   

Reply

Marsh Posté le 17-08-2005 à 09:11:43    

Merci dotfx pour l'info
connaitrai tu un moyen de faire ce que je veux sans les commande ftp. A mon avis c plus possible.
T'en pense quoi?

Reply

Marsh Posté le 17-08-2005 à 09:35:36    

tu peux toujours réalisé une connexion ftp à la main, je veux dire ouvrir une connexion à l'aide de sockets - free ne désactive pas fsockopen ... si t'es motivé :
l'envoi des données se construit ainsi :
(socket sur le port 21 du serveur, je note > les trucs que t'envoies)
200 ...
> USER nom_user
331 ...
> PASS pass
230 ...
> CWD lerepertoireoutuveuxaller
250 ...
> PASV
227 Entering Passive Mode (212,27,40,252,212,184)
> LIST ou > GET fichier
 
et là tu ouvres une nouvelle socket sur le serveur 212.27.40.252, port 212*256+184 = 54456
qui te rappatries les données ...


Message édité par mcjoedassin le 17-08-2005 à 09:36:17
Reply

Marsh Posté le 17-08-2005 à 09:54:36    

merci mais j'avoue ne pas trop comprendre.
T'a pas un exemple de script. Ca semble bien expliquer mais la je pige rien. Je sais juste que cela ressemble à mes commande en ftp shell

Reply

Marsh Posté le 17-08-2005 à 10:25:33    

Jette un coup d'oeil du côté de PEAR.
 
http://pear.php.net/package/Net_FTP2


---------------
www.renderfarm.online
Reply

Marsh Posté le 17-08-2005 à 10:28:42    

merci pour l'info je vais y jeter un oeil

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed