php中的buffer緩沖區(qū)用法分析
本文實例講述了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打開與關(guān)閉的區(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中是關(guān)閉的,那么只會顯示一次。
當然我們也可以在代碼中,臨時開啟php緩沖區(qū)
<?php ob_start(); // 開始php緩存,寫在最前面 echo 1; echo "<hr/>"; // 獲取php緩存區(qū)的內(nèi)容 $buffer = ob_get_contents(); echo $buffer;
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php緩存技術(shù)總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP實現(xiàn)Snowflake生成分布式唯一ID的方法示例
這篇文章主要給大家介紹了關(guān)于PHP實現(xiàn)Snowflake生成分布式唯一ID的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
phpinfo() 中 Local Value(局部變量)Master Value(主變量) 的區(qū)別
這篇文章主要介紹了phpinfo() 中 Local Value(局部變量)Master Value(主變量) 的區(qū)別,需要的朋友可以參考下2016-02-02
使用Curl進行抓取遠程內(nèi)容時url中文編碼問題示例探討
在編碼時應(yīng)該只對部分URL編碼,否則URL中的冒號和反斜杠也會被轉(zhuǎn)義,下面有兩個不錯的示例,有類似情況的朋友可以感受下2013-10-10
IIS下PHP連接數(shù)據(jù)庫提示mysql undefined function mysql_connect()
在很多php教程初學(xué)者都會在初次php mysql時出來undefined function mysql_connect() 錯誤提示,下面我們來分析原因中。2010-06-06

