0

これはすべて初めてですが、ファイルがバックグラウンドでサーバー上のディスクに書き込まれている間に Web ページを表示しようとしています。簡単なページをロードしてから、実際のファイル操作を処理する 2 番目のスクリプトに AJAX 応答を送信します。これは、ファイルの生成中に単純なページが読み込まれるのをユーザーが 30 秒以上待たないようにするためと、ブラウザーのタイムアウトを回避するためです。ファイルが書き込まれたら、それにリダイレクトしたいと思います。ただし、ファイルは作成されず、AJAX 要求が常に成功のステータス コードを返すにもかかわらず、リダイレクトによって 404 に直接送信されます。

index.php

<html>
  <head>
    <script src="js/jquery-1.8.3.min.js"></script>
  </head>
  <body>
    <script>
      $.ajax({
        url: "out.php",
        method: "get",
        data: { 'answer' : 42 },
        success: function(data, status, jqxhr) {
          alert(jqxhr.responseText);
          $("body").append("<meta http-equiv='refresh' content='0;out.log'>");
        }
      });
    </script>
  </body>
</html>

out.php

<?php
  echo "WHAT IS HAPPENING....";
  $fd = fopen("out.log", "wb");
  fwrite($fd, "Not this... " . $_GET['answer']);
  fclose($fd);
?>

out.phpを使用して実行すると期待どおりに動作しphp-cgi out.php answer=42ますが、ブラウザからアクセスすると何も書き込まれません。

out.phpを作成して書き込む方法はありますout.logか?

4

1 に答える 1