ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルの flash()、ob_flush()、ob_end_flush() の使用法と違い

PHP_PHP チュートリアルの flash()、ob_flush()、ob_end_flush() の使用法と違い

WBOY
リリース: 2016-07-13 10:44:53
オリジナル
892 人が閲覧しました

この記事では、php での flash()、ob_flush()、ob_end_flush() の使用法と違いを要約して紹介します。詳しく知りたい人は参考にしてください。

まず最初に、バッファについて説明します。これは 4096 (1kb) のメモリ アドレス空間です。PHP コードが実行されるとき、PHP には php out_buffering メカニズムがあります。 、コンテンツはすぐに出力されませんが、バッファーがいっぱいになると、データはシステムカーネルに渡され、表示のためにtcpに渡されます。 phpのoutput_bufferingメカニズムがオンになっています(デフォルトでオンになっており、ob_start()関数を渡すことができます。オンになっています)。phpバッファ内のデータが設定値に達した場合にのみ、バッファ内のデータがブラウザに送信されます。 。ただし、ブラウザーにもキャッシュがあります。ブラウジングの一部のバージョンでは、データが 256 バイトに達した場合にのみコンテンツを出力します。 ob_start() 関数: 出力バッファを開きます。
関数形式 void ob_start(void)
注: バッファーがアクティブ化されると、PHP プログラムからのファイル以外のヘッダー情報はすべて送信されず、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。

フラッシュ: バッファーと出力の内容をフラッシュします。

関数の形式: flash()
説明: この関数は頻繁に使用され、非常に効率的です。

ob_g​​et_contents: 内部バッファの内容を返します。

関数の形式: string ob_get_contents(void)
説明: この関数は、出力バッファがアクティブ化されていない場合、現在のバッファの内容を返します。

ob_g​​et_length: 内部バッファーの長さを返します。

関数の形式: int ob_get_length(void)
説明: この関数は、ob_get_contents と同様に、現在のバッファーの長さを返します。出力バッファーがアクティブ化されていない場合は、FALSE を返します。
ob_end_clean: 内部バッファの内容を削除し、内部バッファを閉じます

関数の形式: void ob_end_clean(void)

説明: この関数は内部バッファの内容を出力せずに削除します

ob_end_flush: 内部バッファの内容をブラウザに送信し、出力バッファを閉じます

関数の形式: void ob_end_flush(void)

説明: この関数は、出力バッファー (存在する場合) の内容を送信します

ob_implicit_flush: 絶対フラッシュをオンまたはオフにします

関数の形式: void ob_implicit_flush ([int flag])

注: バッファーはデフォルトでオフになっており、絶対出力がオンになった後は、各スクリプト出力がブラウザーに直接送信されるため、flush() を呼び出す必要はありません

flash() は出力を待っているコンテンツをクライアントにすぐに送信できますが、ob_flush() はバッファーがいっぱいになった場合にのみ出力します。次の簡単な PHP 例で確認できます。


コードは次のとおりですコードをコピー //これはブラウザのキャッシュを防ぐためです
echo str_repeat(" ",1024);

for($i=0;$i $i をエコーし​​ます。 睡眠(1);
Flush();// 1 秒ごとに数値を出力しますが、ob_flush() を使用すると、まとめて出力されるまで 5 秒待機します
}
?>



http://www.bkjia.com/PHPjc/633070.html

www.bkjia.com

http://www.bkjia.com/PHPjc/633070.html技術記事この記事では、PHP におけるフラッシュ()、ob_flush()、および ob_end_flush() の使用法と違いを要約して紹介します。詳しく知りたい人は、リファレンスを参照してください。 まずバッファについて話しましょう、それは...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート