ホームページ >バックエンド開発 >PHPの問題 >PHPバッファの設定方法

PHPバッファの設定方法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-11 09:58:363760ブラウズ

php バッファ設定メソッド: 最初にバッファを開きます。コードは [ob_start()]、次に内部バッファの内容を返します、コードは [ob_get_contents]、最後に内部バッファの内容を送信します。ブラウザで出力バッファを閉じると、コードは [ob_end_flush] になります。

PHPバッファの設定方法

#php バッファ設定方法:

# 1. 関連機能の紹介:

1. フラッシュ: バッファ内の内容を出力し、バッファを削除します。

関数形式: flash()

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

関連する学習の推奨事項:
php プログラミング

(ビデオ)

2. ob_start: 出力バッファを開きます

関数形式: void ob_start(void)

説明: バッファーがアクティブ化されると、PHP プログラムからのファイル以外のヘッダー情報はすべて送信されず、内部バッファーに保存されます。バッファの内容を出力するには、ob_end_flush() を使用するか、ob_end_clean() を使用してバッファの内容を出力します。

3, ob_get_contents: 内部バッファの内容を返します。

使用法: string 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 flag])

説明: Perl を使用したことがある人なら誰でも知っていますか?$| =x の意味は、この文字列でバッファをオープン/クローズすることができ、ob_implicit_flush 関数もそれと同じで、デフォルトではバッファをクローズして絶対出力をオープンします。

2. 使用例:

冒頭で、バッファ制御関数を使用すると、ファイルヘッダ内の情報送信エラーを防ぐことができると著者は述べました。 :

コードは次のとおりです:

<? //PHP提示符
ob_start(); //打开缓冲区
echo "Hello/n"; //输出
header(&#39;location:gotourl.php&#39;); //把浏览器重定向到gotourl.php
?>

ob_start

を削除すると、PHP はファイルの 4 行目でエラーを表示します (エラー メッセージは上記のとおりです) ), ただし、ob_start を追加すると、エラー プロンプトは表示されません。その理由は、バッファが開かれたときに、echo 以降の文字がブラウザに出力されず、サーバー上に保持されるためです。それらは、ユーザーが実行するまで出力されません。フラッシュまたは ob_end_flush を使用すると、ファイル ヘッダー出力にエラーが発生しません。 次は非常に古典的な使用法です:

たとえば、

1f70f0edc086e1f683e864c3dfc26679

を使用してサーバーの設定情報を取得し、ただし、この情報はクライアントによって異なります。phpinfo() 関数の出力を保存したい場合はどうすればよいでしょうか?バッファ制御がない前はまったく方法がなかったと言えますが、バッファ制御を使用すると簡単に解決できます。 コードは次のとおりです:

<?
ob_start(); //打开缓冲区
phpinfo(); //使用phpinfo函数
?$info=ob_get_contents(); //得到缓冲区的内容并且赋值给?$info
?$file=fopen(&#39;info.txt&#39;,&#39;w&#39;); //打开文件info.txt
fwrite(?$file,?$info); //写入信息到info.txt
fclose(?$file); //关闭文件info.txt
?>

関連する推奨事項:
プログラミング ビデオ コース

以上がPHPバッファの設定方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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