溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何正確的在php中使用buffer緩沖區(qū)

發(fā)布時間:2021-01-14 15:31:41 來源:億速云 閱讀:170 作者:Leah 欄目:開發(fā)技術

如何正確的在php中使用buffer緩沖區(qū)?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

buffer其實就是緩沖區(qū),一個內(nèi)存地址空間,主要用于存儲數(shù)據(jù)

<?php
echo 1;

我們都運行程序瀏覽器訪問,會顯示1。

但是其實這中間會經(jīng)歷一個buffer,我們可以這樣理解:這個1數(shù)據(jù)會先到php緩存區(qū),當這個緩沖區(qū)滿了之后,再傳給客戶端(瀏覽器)。

這個過程大致流程如下:

內(nèi)容 -> php buffer -> tcp -> 終端(瀏覽器)

php.ini

output_buffering = on
#打開output緩沖,默認打開的。

output_buffering打開與關閉的區(qū)別:

1.打開了php輸出緩存: echo,print -> php output_buffring -> server buffering -> browser buffering -> browser display

2.未打開php輸出緩存: echo,print -> server buffering -> browser buffering -> browser display

我們在代碼里獲取緩存區(qū)內(nèi)容:

<?php
echo 1;
echo "<hr/>";
// 獲取php緩存區(qū)的內(nèi)容
$buffer = ob_get_contents();
echo $buffer;

如果在php配置文件php.ini中output_buffering = on是開啟的,那么上面代碼在瀏覽器上會顯示2個1和2條橫線,查看網(wǎng)頁源代碼如下:

1<hr/>1<hr/>

如果php.ini中是關閉的,那么只會顯示一次。

當然我們也可以在代碼中,臨時開啟php緩沖區(qū)

<?php
ob_start(); // 開始php緩存,寫在最前面
echo 1;
echo "<hr/>";
// 獲取php緩存區(qū)的內(nèi)容
$buffer = ob_get_contents();
echo $buffer;

關于如何正確的在php中使用buffer緩沖區(qū)問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業(yè)資訊頻道了解更多相關知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI