Transfert en php

Bonjour,

Je souhaite transférer un fichier d'un serveur FTP vers un autre serveur FTP.

Et tout ca en php sachant que le script PHP se trouve sur le deuxième serveur.

Je ne sais pas comment créer 2 connections et établir le transfert.

Merci de votre aide

8 réponses

  1. Salut, il doit falloir travailler sur les socket, par contre je peux pas t'en dire plus car en php j'ai jamais travailler sur les socket.
    1. Contributeur
      Bonjour.

      je vois choses:
      La première: quelle est la taille des fichiers? as tu le controle du serveur http ? car avec un timeout par défaut de 30 secondes, tes transferts risquent d'avoir du mal ....
      2°: le protocole FXP permet des echanges de serveurs à serveurs.

      Pour du FTP simple, tu n'auras pas, je pense, besoin d'aller jusqu'aux sockets... encore que le protocole FTP ne soit pas "trop" dur à coder au niveau des sockets ...
    2. Merci pour toutes ces réponses.

      Mais je veux le faire à partir d'un code php pour une mise à jour automatique.

      Merci
      1. Contributeur
        Et n'a pas réponduen ce qui concerne le serveur http: t'as le controle ? tu peux changer son timeout ou c'est mort ?
        Tes serveurs sont compatibles fxp ?
      2. Tu peux aussi faire ça avec un logiciel FTP ^^
    3. le fichier n'est pas très gros 300ko.

      Pour le reste, je ne sais pas.
      1. Contributeur
        ok, c'est petit en effet, ca devrait passer ....

        https://www.php.net/manual/fr/book.ftp.php

        et un exemple:
        https://www.php.net/manual/fr/ftp.examples-basic.php

        bouquines un peu ca, fais des essais, et reviens avec un petit bout de code pour qu'on finisse ca ensemble, et que ca serve à d'autres ;)
        1. merci mais ça, c'est ftp classique, pour upload d'un serveur vers ton localhost ou l'inverse.

          Mais ce que je cherche, c'est le transfert d'un serveur vers un autre serveur.
      2. Bonjour,

        Je reprendrais ce que suggère Nabla's.Bushido 14, tu dis que cela ne te convient pas car cela ne permet pas de transférer le fichier entre deux serveurs autres que celui où s'exécute le script.

        Ne peux-tu pas envisager de le faire en deux étapes ?
        DL sur ton serveur, puis UL vers le serveur cible...

        Xavier
        1. Contributeur
          de toute facon, le FXP n'étant pas géré par tous les serveurs, et n'ayant pas trouvé beaucoup de doc dessus, je pense qu'il vaut mieux faire en 2 étapes aussi ... surtout que les 300ko doivent être rapidement transferé meme avec un timeout de 30 secondes (si il n'est pas maitre de la configuration du serveur php)