私はインターネットやSOからの多くの投稿を検索してきましたが、運がありませんでした. リモートサーバーからファイルを取得する次のコードがあります。
$url = 'http://www.example.com/images/abc.png';
$path = '/home/axxxxxxx/public_html/images/abc.png';
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
$url
1 つのサーバーからのファイルを$path
表します。‰PNG IHDRàw=ø IDATxÚ•yLWÇ¿3³3³ì² (VP)àUÓzDc«
コードを実行すると、html ページが...で始まる奇妙なコードを出力します。
テキスト エディターを使用して new.png を開くと、得られたコードは、上記の php cURL スクリプトが存在するページのコードと同じでした。(スクリプトによって正しいファイルが読み取られているようです)
また、次のようなエラー メッセージが表示されます。
Warning: fopen(../axxxxxxx/public_html/images/new.png) [function.fopen]: failed to open stream: No such file or directory in /home/ayyyyyyy/public_html/test.php on line 5
Warning: curl_setopt(): supplied argument is not a valid File-Handle resource in /home/ayyyyyyy/public_html/test.php on line 8
ここに表示される Unicode 文字セット ( PNG IHDRàw=ø IDATxÚ•yLWÇ¿3³3³ì² (VP)àUÓzDc«
)
Warning: fclose(): supplied argument is not a valid stream resource in /home/ayyyyyyy/public_html/test.php on line 12
どちらのサイトも 000webhost.com でホストされています。
ファイルをユーザーのコンピューターにダウンロードするにはどうすればよいですか?