ホームページ >バックエンド開発 >PHPチュートリアル >php ob_startの使い方を詳しく解説
1. 関連機能の紹介: 1. フラッシュ: バッファーと出力の内容をリフレッシュします。 関数形式:flush() 説明: この関数は頻繁に使用され、非常に効率的です。 2. ob_start: 出力バッファをオープンします。 関数形式: void ob_start(void) 注: バッファーがアクティブ化されると、PHP プログラムからのファイル以外のヘッダー情報はすべて送信されず、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。 3. ob_get_contents: 内部バッファの内容を返します。 使用法: 文字列 ob_get_contents(void) 説明: この関数は、出力バッファがアクティブ化されていない場合、現在のバッファの内容を返します。FALSE を返します。 4. ob_get_length: 内部バッファの長さを返します。 使用法: int ob_get_length(void) 説明: この関数は、出力バッファがアクティブ化されていない場合、ob_get_contents と同じように現在のバッファの長さを返します。その後、FALSE を返します。 5. ob_end_flush: 内部バッファの内容をブラウザに送信し、出力バッファを閉じます。 使用法: void ob_end_flush(void) 説明: この関数は、出力バッファーの内容 (存在する場合) を送信します。 6. ob_end_clean: 内部バッファの内容を削除し、内部バッファを閉じます。 使用法: void ob_end_clean(void) 説明: この関数は内部バッファの内容を出力せず、削除します。 7. ob_implicit_flush: 絶対リフレッシュをオンまたはオフにします。 使用法: void ob_implicit_flush ([int フラグ]) 注: Perl を使用したことがある人なら誰でも $|=x の意味を知っています。この文字列はバッファをオープン/クローズできます。デフォルトでは、絶対出力をオンにした後にバッファをクローズします。スクリプト出力 ブラウザに直接送信します。flush() を呼び出す必要はありません 2. 深い理解: 1.フラッシュ機能について: この関数は PHP3 で登場した非常に効率的な関数で、ブラウザのキャッシュを更新する非常に便利な関数です。フラッシュを説明するために、非常に明らかな動作効果を示す例を示します。 例2。
2. obシリーズの機能について: まず、私の良き友人である y10k の例を引用したいと思います。 例 3. たとえば、サーバーとクライアントの設定情報を使用できますが、この情報はクライアントによって異なります。phpinfo() 関数の出力を保存したい場合はどうすればよいでしょうか。バッファ制御がない前は、まったく方法がなかったと言えますが、バッファ制御を使用すると、問題を簡単に解決できます。 ob_start(); //バッファを開きます
上記の方法を使用すると、以前は不可能だったかもしれないさまざまなユーザーの phpinfo 情報を保存できます。実は上記は一部の「処理」を「関数」に変換する方法なのです! 「これはただのことですか? 他に用途はあるのですか?」と疑問に思う人もいるかもしれません。もちろん、著者のフォーラムの PHP 構文強調表示はこれに関連しています (PHP のデフォルトの構文強調表示機能は、直接出力します)。結果を保存できません。呼び出されるたびに表示されるのは CPU の無駄になります。興味がある場合は、作者のフォーラムで構文強調表示機能によって表示された結果が保持されます。見てください これで、ob_start() の関数をある程度理解できたのではないでしょうか。上の例は単純に見えますが、実際には、ob_start() の使用の重要なポイントをマスターしたことになります。 . ob_start を使用してブラウザのキャッシュを開くと、flush()、ob_end_flush() を呼び出す前 (またはプログラムが実行される前) にキャッシュの内容が出力されなくなります。 これで、出力コンテンツの後にヘッダー、setcookie、セッションを使用できることがわかりました。これは、ob_start のパラメーターをキャッシュの書き込み後に使用することもできます。 ob_start("ob_gzhandler"); などのコマンドを実行し、最も一般的な方法は、ob_get_contents() を使用してキャッシュの内容を取得し、それを処理することです。 . 処理が完了したら、flush()、ob_end_flush()、プログラム実行完了後の自動出力など、さまざまなメソッドを使用して出力できます。もちろん、ob_get_contents() を使用している場合は、出力メソッドを自分で制御する必要があります。 1. 静的テンプレート技術 はじめに: いわゆる静的テンプレート技術は、特定のメソッドを使用して、ユーザーがクライアント側の PHP によって生成された HTML ページを取得できるようにします。この HTML ページが更新されなくなると、別のユーザーがこのページを再度参照したときに、プログラムは、sina、163、sohu などの大量の情報を含む一部の Web サイトの PHP および関連データベースを呼び出すことはなくなります。このようなテクノロジーの恩恵は非常に大きいです。 1 2 次のページ 最後のページ |