Baixe o arquivo do servidor FTP nº 1 para o servidor FTP nº 2

Baixe o arquivo do servidor FTP nº 1 para o servidor FTP nº 2

Eu gostaria de usar um script PHP com biblioteca cURL para baixar um nome de diretóriodados(com um arquivo .xml e um arquivo .txt.zip) que está dentro do meu servidor FTP nº 1 no meu servidor FTP nº 2. Este diretório deve ser baixado a cada 24 horas.

É possível fazer isso com cURL?

Responder1

O que você está pedindo não é estritamente um "download" para você fazer.

Se bem entendi, o que você quer fazer é baixar o arquivo do FT Server #1 e entãocarregaro arquivo para o servidor FTP #2. Não existe uma maneira direta de dizer a um servidor para transferi-lo para outro ...

... a menos que você tenha acesso para executar programas nos próprios servidores (ou seja, se você for o administrador ou tiver acesso ssh/php a um dos computadores servidores reais). ENTÃO você pode baixar um arquivo do Servidor FTP #1 para o computador local (queéServidor FTP nº 2).

Responder2

Eu faço algo assim em relação ao meu VPS e faço isso usando multcloud.com. Eles oferecem 2 TB de tráfego gratuito e 10 TB se você compartilhar nas redes sociais. Você pode configurar transferências recorrentes nele. Eu costumava usar o mover.io, mas agora é uma opção paga.

Atenciosamente.

PS:- Se não é isso que você procura, comente e me avise. Não sei nada sobre cURL, então não posso responder a essa parte da sua pergunta.

Responder3

Não posso comentar para responder… Isso é tão problemático… De qualquer forma, tentei usar file_get_contents e file_put_contents que são permitidos pelo meu host.

 <?php
    /* FTP SERVEUR #1)
    $contents = file_get_contents("ftp://username:pass@directory/file.xml");

/* FTP SERVEUR #2)
    file_put_contents("ftp://username:pass@directory/file.xml", $contents);

    ?>

Eu executo isso, não vejo nenhum arquivo.xml entrando no meu número 2 e não tenho nenhum erro! Eu tentei fazer echo($contents)e funciona. O problema está vindo com o file_put_contents.

EDITAR: Isso funciona se você definir as permissões do seu diretório de destino dentro do servidor #2 como 777.

informação relacionada