0

基本的に、私は を使用して無限ループを実行しているスクリプトを持っています。基本的には、関数を実行してから、URL に渡される変数をfile_get_contentsインクリメントするだけです。問題は明らかに、「リダイレクトが多すぎます」というエラーをスローしていることです。 Cronジョブでそれを行う方法、またはエラーなしでそれを行う方法、これが私の現在のコードです$_GETfile_get_contents

$id = $_GET['id'];
$next_id = $id + 1;
$url = "http://www.website.com/profile/$id.json";
$json = file_get_contents($url);
$result = json_decode($json, true);

$headers = get_headers($url);
if($headers[0] !== "HTTP/1.1 404 Not Found") {
  $query = mysql_query("query here");
  if($query) {
       echo '<script type="text/javascript">
       <!-- window.location = "import.php?id='.$next_id.'" //-->
       </script>';
  } else {
       echo '<script type="text/javascript">
       <!-- window.location = "import.php?id='.$id.'" //-->
       </script>';
  }
}

これを行う他の方法またはより効率的な方法はありますか? リダイレクトを使用する前にそのような方法を使用しようとしましsleep(5)たが、それでもやり続けているようです

4

1 に答える 1

1

JavaScript でリダイレクトの前に一時停止を追加してみてください。

echo '<script type="text/javascript">
<!-- window.setTimeout("window.location = \"import.php?id='.$next_id.'\"", 5000); //-->
</script>';
于 2013-03-16T22:15:22.083 に答える