Page 1 sur 1
Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 15:16
par iris67
Bonjour à toutes et à tous,
Etant nouvelle sur ce forum je vous remercie de m'accueillir et surtout de m'aider, et j'espère pouvoir un jour y aider aussi qqu
Débutant en PHP j'aurais besoin d'effectuer une simple copie d'un dossier se trouvant sur un serveur distant vers un dossier de mon ordinateur. J'ai fouillé avec mon ami Google, j'ai testé je pense une dizaine de scripts mais rien ne fait je n'arrive pas à copier les fichiers, soit cela ne me retourne aucune erreur (mais les fichiers ne sont toujours pas la), soit les dénomination de dossier sont mal renseignée, etc.
Je pense que c'est la notion d'emplacement de dossier qui doit planter les scripts car une fois j'essaye . ou / mais rien n'y fait... je débute dans ce genre de programmation d'ou ma question.
Auriez-vous un script "bavard" qui me permettrait par l'exemple de comprendre le processus .
Par avance merci
Iris
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 15:18
par iris67
Je voulais également préciser que la connexion se déroulait bien, donc pas de problème d'identifiant.
Merci
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 15:56
par J-oxi
Salut, tu peux essayer avec ça.
<?php
$ftp_host = "ftp.exemple.net";
$conn_id = ftp_connect ($ftp_host)
or die("Impossible de se connecter à : $ftp_host");
$login_result = ftp_login($conn_id, "UTILISATEUR", "PASSWORD");
if ((!$conn_id) || (!$login_result))
die("Connexion FTP échouer");
ftp_sync("Dossier/a_copier/");
ftp_close($conn_id);
function ftp_sync($dir) {
global $conn_id;
if($dir != ".") {
if(ftp_chdir($conn_id, $dir) == false) {
echo ("impossible de selectionner le dossier : $dir<br/>\r\n");
return;
}
if (!(is_dir($dir)))
mkdir($dir);
chdir($dir);
}
$contents = ftp_nlist($conn_id, ".");
foreach ($contents as $file) {
if ($file == '.' || $file == '..')
continue;
if (@ftp_chdir($conn_id, $file)) {
ftp_chdir ($conn_id, "..");
ftp_sync ($file);
}
else ftp_get($conn_id, $file, $file, FTP_BINARY);
}
ftp_chdir ($conn_id, "..");
chdir ("..");
}
?>
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 17:01
par Invité
Super, merci je vais tester ça et je reviens rapidement vers toi.
Iris
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 17:06
par Invité
HIIIIIII !!!! (le cri de la pub Zalando...) Ca fonctionne !!!
Je viens de faire un premier essai et ça fonctionne, maintenant je vais décortiquer le code afin de le comprendre et ne plus poser des question aussi basique
Encore merci à toi
Grosse bise
Iris
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 17:28
par Invité
Je galère encore pour lui indiquer ou copier le dossier (compréhension des chemin) )mais c'est super et tout à fait ce que je voulais, encore merci.
Re: Transfert dossier complet depuis serveur distant (FTP)
Posté : 27 mai 2013, 18:59
par J-oxi
else ftp_get($conn_id, $file, $file, FTP_BINARY);
pourrait être :
$file_return = "DOSSIER_RECEPTION/".$file;
else ftp_get($conn_id, $file_return, $file, FTP_BINARY);
Oublie pas de mettre le sujet en résolu, si c'est considéré comme tel.
Re: [RESOLU] Transfert dossier complet depuis serveur distan
Posté : 28 mai 2013, 07:30
par iris67
Merci, je vais tester ça de suite

Re: [RESOLU] Transfert dossier complet depuis serveur distan
Posté : 28 mai 2013, 07:57
par iris67
Dans le dossier ou se trouve mon script j'ai un sous dossier "panier" et même quand j'ajoute ces lignes comme indiqué :
$file_return = "panier/".$file;
ftp_get($conn_id, $file_return, $file, FTP_BINARY); }
le dossier que je downloade se place toujours au même niveau que mon script...