![FTP サーバー #1 から FTP サーバー #2 にファイルをダウンロードします](https://rvso.com/image/1496901/FTP%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%20%231%20%E3%81%8B%E3%82%89%20FTP%20%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%20%232%20%E3%81%AB%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%99.png)
cURLライブラリを使用したPHPスクリプトを使用して、1つのディレクトリ名をダウンロードしたいデータ私の FTP サーバー #1 内にある ( .xml ファイル 1 つと .txt.zip ファイル 1 つを含む ) ファイルを私の FTP サーバー #2 にダウンロードします。このディレクトリは 24 時間ごとにダウンロードする必要があります。
cURL でこれを行うことは可能ですか?
答え1
あなたが求めているのは、厳密に言えば「ダウンロード」ではありません。
私の理解が正しければ、FTサーバー#1からファイルをダウンロードして、アップロードファイルを FTP サーバー #2 に送信します。一方のサーバーにもう一方のサーバーにファイルを転送するように直接指示する方法はありません...
...サーバー上でプログラムを実行する権限がない限り(つまり、管理者であるか、実際のサーバーコンピュータの1つにssh/phpでアクセスできる場合)、FTPサーバー#1からローカルコンピュータ(はFTP サーバー #2)。
答え2
私は VPS に関して同じようなことをしており、multcloud.com を使っています。彼らは 2TB のトラフィックを無料で提供し、ソーシャル メディアで共有すると 10TB が提供されます。定期的な転送を設定できます。以前は mover.io を使用していましたが、現在は有料オプションになっています。
よろしくお願いします。
PS:- これがあなたが探しているものではない場合は、コメントして私に知らせてください。私は cURL について何も知らないので、あなたの質問のその部分には答えることができません。
答え3
回答するコメントができません…それは非常に問題があります…とにかく、ホストで許可されている file_get_contents と file_put_contents を使用しようとしました。
<?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);
?>
これを実行すると、#2 に file.xml が表示されず、エラーも発生しません。試してみたところecho($contents)
、うまくいきました。問題は file_put_contents にあります。
編集: これは、サーバー #2 内の宛先ディレクトリの権限を に設定すると機能します777
。