ob_start()
私は機能についてのみ説明し、使用方法については説明しません。使い方はすべてオンラインで入手できます。今日は、少し混乱している人に理解してもらいたいと思います。
昨日、友人の会社のコードを見ましたが、これは上記のコードに似ていて、はっきり言って意味のないコードです(setcookieヘッダーの目的ではなく、私が質問したものです)。
よく考えた後、インターネットで検索したところ、かなりの初心者(技術的な初心者、必ずしも PHP の 1 年生とは限らず、生涯初心者の人もいます)が、ob の役割を理解していないことがわかりました。しかし、インターネットでは、ob は出力バッファーや出力キャッシュと呼ばれることが多いため、ob シリーズの関数を PHP ページの表示を高速化するツールとして認識している人が多くいます。
実は、ob は出力キャッシュではなく出力バッファリングの略で、正しく使用すればある程度の速度向上にはつながりますが、やみくもに ob 関数を追加すると CPU への余分な負担が増えるだけです。次にobの基本的な機能について説明します。
1. ブラウザーの出力後に setcookie、header、または session_start 関数を使用することによって発生するエラーを防止します。 (私は当初、冒頭で述べたコードにそのような機能があると思っていましたが、後で友人がそうではないと言いました) 実際、この種の使用法は減らして、良いコーディング習慣を身に付けたほうが良いでしょう。
2. 取得できない関数の出力をキャプチャします。たとえば、phpinfo は大量の HTML を出力しますが、この時点では、ob が役に立ちます。
3. gzip 圧縮、簡体字中国語と繁体字中国語間の変換、一部の文字列の置換などの出力コンテンツを処理します。
4. 静的ファイルの生成は、実際にはページ全体の出力をキャプチャし、それをファイルとして保存することです。これは、HTML 生成またはページ全体のキャッシュでよく使用されます。
先ほどの 3 番目の点で述べた GZIP 圧縮については、多くの人が使いたいと思っているかもしれませんが、実際には、私の友人のコードを少し変更することで、ページの gzip 圧縮を実現できます。
ob_start();
....
ob_clean();
これら 2 つの文の間の出力は、ブラウザに出力せずに ob_get_contents(); を使用して取得できます。
クラシック アプリケーション: phpinfo() 情報をファイルに書き込みます。
ob_start();
phpinfo();
$phpinfo = ob_get_contents();
//ファイルの読み取りおよび書き込み操作
ob_clean();
http://www.bkjia.com/PHPjc/477867.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/477867.html技術記事 ob_start() はその機能についてのみ説明しており、その使用方法についてはインターネットで入手できます。今日は、少し混乱している人たちを理解するのに役立ちたいと思います。 昨日、友人の会社のコードが次のようなものであるのを見ました...