は問題です:あなたは$ =ののfopen($ファイルパス、 "RB")を取り扱うなかった場合には、 PHPのfopenがファイルの検索を試みます。ファイルの位置を特定できないと、エラーが発生し、ストリームに出力が送られます。出力がすでにストリームに送られている。ヘッダを送信するためにはもはや不可能です...ので、IF-ELSE文がトリックを行うことができます:
<?php
$filepath = "page-1.php";
if(file_exists($filepath) && ($handle = @fopen($filepath, "rb"))){
// WORK WITH YOUR $handle IN THIS BLOCK
}else{
header("location: page-2.php"); // YOU SHOULD REDIRECT TO A LOCATION SENDING IT THE HEADER...
//header("location: page-1.php"); // SENDING TO THE SAME LOCATION WORKS AS WELL...
header("HTTP/1.0 404 Not Found");
exit;
}
[こちら](http://php.net/manual/en/function.http-response-code.php)を参照してください。 –
問題を再現するコードがありません。 –