0

URL からフィード (.txt ファイル) を開くために fopen を使用していますが、フィードが見つからないことがあります。これが発生したときに fopen が FALSE を返すようにして、エラーを処理できるようにします。しかし、ターゲット URL にフィードが見つからない場合、サイトの別のページにリダイレクトされ、指定されたファイルが見つからないことが通知されます。その結果、私の $handle は間違ったファイルを参照し、fopen は TRUE を返します (間違ったものではあるものの、何かが見つかったため)。したがって、エラー処理の試みが妨害されます。

fopen が正しいファイルを取得したことを確認するにはどうすればよいですか? ありがとう。

if ($handle = fopen($feed, "r")) {
   //fopen returned true, do stuff
} else {
   //fopen returned false, quit
   die("Fail.");
}
4

1 に答える 1

1

次のように、リダイレクトを無視するように http ラッパーを取得できます。

$opts = array(
    'http' => array('method' => 'GET',
                    'max_redirects' => '0')
);

$context = stream_context_create($opts);
$handle = fopen($feed, 'r', false, $context);
于 2011-08-08T09:27:41.853 に答える