私はこのようなコードを使用しています:
//クライアントにとって重要なものを含むセクション ob_start(); echo"Blah...ランダムコンテンツ"。rand(1,1000); $ size = ob_get_length(); header( "Content-Length:$ size"); header('接続:閉じる'); ob_end_flush(); ob_flush(); 流す(); //以下のすべての出力/スクリプトの実行時間は、クライアントによって無視される必要があります(file_get_contents()) sleep(10); エコー「長いアクションが完了しました」;
一部のコンテンツを出力し、その後、時間のかかるバックグラウンドジョブを実行します。
他のファイルでは、バックグラウンドジョブが終了するのを待たずに、最初のスクリプトのデータにアクセスしようとしています。
残念ながら、これは私にはうまくいきません:
$ content = file_get_contents( "http://some-address/thescript.php"); エコー$コンテンツ;
Content-lengthヘッダーに注意を払わないためです。ただし、ブラウザではすべてが正常に機能します。助言がありますか?ありがとう。