2012-05-13 3 views
2

URLにファイルのIDをとり、SQLデータベースからファイルのリンクを見つけてファイルをストリームするPHPスクリプトがあります。ブラウザがページを読み込まないようにするHTTPヘッダー?

クライアントのページで、リンクをクリックしてファイルをダウンロードするように求められます。ファイルがデータベースにない場合は、ブラウザがページを404などのエラーページに変更しないようにしたいが、クライアントのページはそのままにしておいてください。

ブラウザにページをロードしないように指示するHTTPステータスまたはコンテンツタイプはありますか?コンテンツの長さを0に設定するようなことはありますか?

+0

'file_exists()'を使用する方が簡単ではないでしょうか?ファイルが存在しない場合は、最初にストリームしないでください。 –

+0

@Billthelizard私はあなたが私の答えを削除したことに非常に失望しています。その意図は、発生時にエラーを処理するのではなく、最初に悪いリンクを防止する機会があったことを示すことでした。例外をキャッチしないでください。例外は避けてください。 –

答えて

5
204 No Content 

ステータスコードを返すと、ブラウザはそのページに残ります。

+0

Worked!ありがとう! – mowwwalker

+2

必要に応じて追加のHTTPコード:http://en.wikipedia.org/wiki/List_of_HTTP_status_codes – Yoone

+0

これに追加する唯一のことは、サポートされているすべてのブラウザが動作すること、または少なくともあなたのページを掘り下げずに丁寧に失敗することです。 –

関連する問題