別のサーバーからファイルをダウンロードしています。このファイルをサーバーに保存するのではなく、ユーザーにプッシュしたいと考えています。
言い換えれば、ファイルハンドルを渡して、サーバーを通過してマシンに保存するだけです。これどうやってするの?私はこれまでのところこれを持っています:
$handle = fopen($_GET['fileURL'], 'r');
$filename = stream_get_contents($handle);
おそらくヘッダーを使用して、これをユーザーにプッシュするにはどうすればよいですか?
助けと指示をありがとう。
編集
私はヘッダーを持っています:
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
ヘッダーをプッシュしないというだけです。約15秒後に空白のページが表示され、ファイルをダウンロードしているように見えますが、ファイルが提供されていません。
スクリプトがヘッダーをストリームとしてユーザーにすぐに送信することを望みます。出口();