optimiser commande FTP

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Hello !

J’utilise la fonction FTP pour envoyer le contenu d'un dossier vers un serveur distant. Le problème, c’est que je ne souhaite optimiser tout ça en n’envoyant que les fichiers différents que ceux présent en ligne !

Mon code :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?php
function send_ftp($ftp_host, $ftp_user, $ftp_password, $ftp_root, $ftp_localroot, $dirs, $files) {
    if (($ftp = ftp_connect($ftp_host)) !== false) {
        ftp_login($ftp, $ftp_user, $ftp_password);
        ftp_pasv($ftp, false);
        foreach($dirs as $dir) {
            if(!in_array($dir, ftp_nlist($ftp, $ftp_root))) {ftp_mkdir($ftp, $ftp_root.$dir);}
        }
        foreach($files as $file) {
            mylog('Envoi du fichier '.$file.' sur le serveur FTP.');
            if (ftp_put($ftp, $ftp_root.$file, $ftp_localroot.$file, FTP_BINARY)) {
                mylog('Envoi du fichier '.$file.' réussi.');
            }
            else {
                mylog('Envoi du fichier '.$file.' échoué.');
            }
        }
        ftp_close($ftp);
    }
}

J’ai penser comparer le md5, mais ça semble pas marcher (à coup de file_get_contents(), il peut avoir des problèmes, mais c’est des fichiers statiques). Avez vous une idée pour résoudre ce problème ?

cordialement,

écolo-utopiste altermondialiste radicalisé sur Internet | La tero estas nur unu lando. PA SHS La géo c’est cool, la carto aussi !

+0 -0

Quel est la taille de ton fichier ? J'ai vu que ça pouvais provoquer des soucis avec les fichiers de plus de 2Go (Information parvenu du bugtracker mais non confirmé, donc j'ai de fort doute que ce soit la cause).

Tu es bien connecté à ton ftp lors de l'envoie de cette requête ? Le fichier que tu indiques est bien présent sur le serveur ?

Note: Tous les serveurs ne supportent pas cette fonctionnalité.

Ça peut aussi être ça la cause, mais dans ce cas la je ne saurais comment t'aider…

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte