サーバー上にファイルがあります。ファイルはZIPファイルです。
ファイルは、サーバーを介してクライアントにダウンロードする必要があります。
readfile 関数を使用してみましたが、ファイルをダウンロードする代わりに、奇妙なシンボルが表示されるだけです...
ここにアップロードしました: http://b-games.co.il/test/download/
これはコードです:
$file = "2title3.gif";
if(file_exists($file))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
}
私もこれを使ってみました:
$url = 'http://example.com/some.url';
$src = fopen($url, 'r');
$dest = fopen('php://output', 'w');
$bytesCopied = stream_copy_to_stream($src, $dest);
しかし、それは同じことをしました...奇妙なシンボルを表示しただけです。
私は何を間違っていますか? http://php.net/manual/en/function.readfile.php ここでは、動作するはずだと言っています...
重要な更新:
私のローカルホストでも同じコードが機能します!
誰でも理由を知っていますか?
ありがとう!