您好,登錄后才能下訂單哦!
如何正確的在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è)資訊頻道了解更多相關知識。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。