亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费

Language:
中文 En
新聞中心

PHPob緩存以及ob函數原理實(shí)例解析     DATE: 2026-05-05 07:01:16

ob緩存介紹

ob是output buffering的簡(jiǎn)稱(chēng),輸出緩沖區,原理緩沖區是實(shí)??例通過(guò)php.ini中的output_buffering變量控制的。其默認值是解析off,可以設置為on來(lái)打開(kāi)buffer。打來(lái)buf??fer后,緩函數即便程序中沒(méi)有用ob函數,存及實(shí)際上代碼也是原理使用了緩沖區的。另外,實(shí)例不管php.(′_ゝ`)ini中output_buffering的解析設置,cli模式下的緩函數php始終默認是(′▽?zhuān)?關(guān)閉的。為什么要是存及緩沖區呢?簡(jiǎn)單來(lái)說(shuō),高速的原理cpu早早處理完自己的數據,想通過(guò)線(xiàn)路傳遞給用戶(hù),實(shí)例但是解析線(xiàn)路太窄了,一下輸送不過(guò)去。如果引入緩沖區,cpu可以將快速將生成的數據放入緩沖區,然后自己哪兒涼快兒哪兒呆著(zhù)這歇著(zhù)去了。緩沖區根據指令適時(shí)將數據輸出。這個(gè)樣就合理解決了高速cpu與低速I(mǎi)/O設備的矛盾了。

ob的基本原則:如果ob緩存打開(kāi),則echo的數據首先放在ob緩存。如果是header信息,直接(jie)放在程序緩存。當頁(yè)面執行到最后,會(huì )把ob緩存的數據放到程序緩存,然后依次返回給瀏覽器。

ob的基本作用:

1)防止在瀏覽器有輸出之后再使用setcookie()、hea??der()或session_start()等發(fā)送頭文件的(de)函數造成的錯誤。其實(shí)這樣的用法少用為好,養成良好的代碼習慣。

2)捕捉對一些不可獲取的函數的輸出,比如phpinfo()會(huì )輸出一大堆的HTML,但是我們無(wú)法用一個(gè)變量例如$info=phpinfo();來(lái)捕捉,這時(shí)候ob就管用了。

3)對輸出的內容進(jìn)行處理,例如進(jìn)行g(shù)zip壓縮,例如進(jìn)行簡(jiǎn)繁轉換,例如ヽ(′▽?zhuān)?ノ進(jìn)行一些字符串替換。

4)生成靜態(tài)文件,其實(shí)就是捕捉整頁(yè)??的輸出,然后存成文件。經(jīng)常在生成HTML,或者整頁(yè)緩存中使用。

ob相(◎_◎;)關(guān)函數詳解

1、Flush:刷新緩沖區的內??容,輸出。

函數格式:

flush()

說(shuō)明:這個(gè)函數經(jīng)常使用,效(?_?;)率很高。

2、ob_start :打開(kāi)輸出緩(╬?益?)沖區??

函數格式:

void ob_start(void)

說(shuō)明:當緩沖區激活時(shí),所有來(lái)自PHP程序的非文件頭信息均不會(huì )發(fā)送,而是保存在內部緩沖區。為了輸出緩沖區的內容(rong),可以使用ob_end(′;ω;`)_flush()或fl?ush()輸出緩沖區的內容。

3 、ob_get_contents :返回內部緩沖區的內容。

使用方法:

string ob_get_contents(void)

說(shuō)明:這個(gè)函數會(huì )返回當前緩沖區中的內容,如果輸出緩沖區沒(méi)有激活,則返回 FALSE 。

4、ob_get_length:返回內部緩沖區的長(cháng)度。

使用方法:

int ob_get_length(void)

說(shuō)明:這個(gè)函??數會(huì )返回當前緩沖區中的長(cháng)度;和ob_get(╯°□°)╯_contents一樣,如果輸出緩沖區沒(méi)有激活。則返回 FALSE。

5、ob_end_flush :發(fā)送(′?_?`)內部緩沖區的內容到瀏覽器,并且關(guān)閉輸出緩沖區。

使用方法:

void ob_end_??flush(void)

說(shuō)明:這個(gè)函數發(fā)送輸出緩沖區的內容(如果有的話(huà))。

6、ob_end_clean:刪除內部緩沖區的內容,并且關(guān)閉內部緩沖區

使用方法:

void ob_end_clean(void)

說(shuō)明:這個(gè)函數不會(huì )輸出內部緩沖區的內容而是把它刪除!

7、ob_implicit_flush:打開(kāi)或關(guān)閉絕對刷新

使用方法:

void ob_implicit_flush ([int flag])

說(shuō)明:使用過(guò)Perヽ(′ー`)ノl的人都知道$|=x的意義,這個(gè)字符串可以打開(kāi)/關(guān)閉緩沖區,而ob_implici(′?`)t_flush函數也和那個(gè)一樣,默認為關(guān)閉緩沖區,打開(kāi)絕對輸出后,每個(gè)(′?ω?`)腳本輸出都直接發(fā)送到瀏覽器,不再需要調用 flush()

關(guān)于flush函數實(shí)例代碼如下:


亚洲女同成aV人片在线观看|亚洲www啪成人一区二区麻豆|亚洲国产中日韩精品综合|亚洲国产成人精品一级片|亚洲无码在线视频免费 长岛县| 长岭县| 化隆| 德惠市| 彭阳县| 黄冈市| 宿迁市| 曲水县| 嘉荫县| 呼图壁县| 祁东县| 肃北| 沂水县| 榆社县| 泌阳县| 芷江| 卓资县| 临海市| 新野县| 芦山县| 连江县| 平昌县| 道孚县| 息烽县| 库车县| 久治县| 留坝县| 尼木县| 营山县| 宁陵县| 利津县| 虎林市| 航空| 中山市| 桦南县| 丹凤县| 开封县| 乳源| 汶上县| 新绛县| 沅陵县| http://444 http://444 http://444 http://444 http://444 http://444