ホームページ >バックエンド開発 >PHPチュートリアル >PHP でクライアント側のログ記録のために出力を即時にフラッシュするにはどうすればよいですか?

PHP でクライアント側のログ記録のために出力を即時にフラッシュするにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-08 16:22:14653ブラウズ

How Can I Ensure Immediate Output Flushing in PHP for Client-Side Logging?

各エコー呼び出し後の即時出力フラッシュ

PHP スクリプトでクライアント側のログを処理する場合、出力を直後に転送することが重要です各エコーコール。ただし、ob_start() や ob_flush() などの標準メソッドが常に機能するとは限りません。

最良の解決策

推奨されるアプローチは、Content-ヘッダーを入力し、ob_flush() と flash() の両方を使用します。サンプル コード スニペットは次のとおりです。

header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    ob_flush();
    flush();
    sleep(1);
}
echo 'End ...<br />';

このアプローチにより、出力が段階的にクライアントに送信され、スクリプトの処理中に空白ページが表示される問題が排除されます。

以上がPHP でクライアント側のログ記録のために出力を即時にフラッシュするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。