スクリプトの読み込みが完了したときにテキストを出力するにはどうすればよいですか。
私のスクリプトは、私がしたいURLのリストのメタデータを取得します:
開始をクリックすると、スクリプトが終了すると読み込み中というテキストが表示され、完了と表示されます
ユーザーは、エクスポート ボタンをクリックしてデータを取得できます。
スクリプトの読み込みが完了したときにテキストを出力するにはどうすればよいですか。
私のスクリプトは、私がしたいURLのリストのメタデータを取得します:
開始をクリックすると、スクリプトが終了すると読み込み中というテキストが表示され、完了と表示されます
ユーザーは、エクスポート ボタンをクリックしてデータを取得できます。
PHPとWebの動作方法が原因で、これを実際に実行することはできません。基本的に、PHPの出力はクライアントに送信される前にバッファリングされるためprint "Finished"
、スクリプトの最後に配置しても、クライアントはスクリプト全体が終了するまで応答を待機し、その後、出力全体が表示されます。一度に。
スクリプトのタイムアウトもあります。これは、スクリプトが終了するまでに構成された時間(デフォルトは30秒)より長くかかる場合、スクリプトが中止され、エラーメッセージがクライアントに送信されることを意味します。
最も洗練された解決策は、スクリプトの外部で実際の作業を行い(1分以上かかる場合は、cronジョブの使用を検討してください)、ファイルまたはデータベースを使用してスクリプトとcronジョブの間で通信することです。したがって、次に行うことは次のとおりです。
これが基本的な設定です。より快適なユーザーエクスペリエンスを得るには、定期的なリロードの代わりに、ある種のAjaxハートビートを使用することをお勧めします。