The-Shadow Développeur T'as été voir dans ton profil? | Alors voilà comment je fais perso.
C'est un vieux script qui mériterait surement quelques optimisations, mais il marche bien, je me prends pas la tête plus que ça.
En fait, mon script ne copie pas les dossiers, il copie l'intérieur des dossiers qui existent à l'identique en local chez moi.
Je lance un serveur FTP chez moi, avec FTPServ, tu te montes un FTP en moins de 4 minutes (en comptant 2 minutes pour le téléchargement ).
Bref, j'ai l'arborescence des dossiers déjà chez moi, le script chope mon adresse IP quand je le lance et se connecte donc à mon FTP local.
Ensuite, il scrute les répertoires que je lui ai donné et recopie leur contenu en local. ça me sert à avoir une copie conforme chez moi des données dynamique de mon site (album photo, avatars, smileys, etc.).
Code :
- <?php
- // Mise en place d'une connexion basique
- $ftp_server=$_SERVER['REMOTE_ADDR'];
- $conn_id = ftp_connect($ftp_server,21);
- $ftp_user_name='monlogin';
- $ftp_user_pass='monmotdepasse';
- // 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 au serveur '.$ftp_server.' pour l\'utilisateur '.$ftp_user_name.'<br />';
- die();
- } else {
- echo 'Connexion au serveur '.$ftp_server.', pour l\'utilisateur '.$ftp_user_name.'<br />';
- }
- // Déclaration des répertoires à récupérer
- $nbdir=2;
- $dir_name[0]='Avatars';
- $dir_src[0]='../forum/avatars/upload/sm/*.jpg';
- $dir_dest[0]='forum/avatars/upload/sm/';
-
- $dir_name[1]='Albums Photos';
- $dir_src[1]='../forum/album/gd/*.jpg';
- $dir_dest[1]='forum/album/gd/';
-
- for ($i=0;$i<$nbdir;$i++)
- {
- echo '<hr /><hr />Récupération '.$dir_name[$i].'<hr /><hr />';
- foreach (glob($dir_src[$i]) as $filename)
- {
- $source_file=$filename;
- $destination_file=$dir_dest[$i].basename($filename);
- $upload = ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY);
-
- // Vérification du status du chargement
- if (!$upload) {
- echo "Le chargement FTP a échoué!";
- } else {
- echo 'Chargement de '.$source_file.' vers '.$ftp_server.' en tant que '.$destination_file.'<br />';
- }
- }
- }
-
- // Fermeture du flux FTP
- ftp_close($conn_id);
- ?>
|
Message édité par The-Shadow le 28-06-2005 à 21:25:12
|