老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設、域名注冊、服務器等服務

php怎么清除緩沖區(qū)?

php清除緩沖區(qū)的方法:1、使用“ob_clean()”函數(shù)清除,該函數(shù)可以清除php緩沖區(qū)里面的內(nèi)容;2、使用“ob_end_clean()”函數(shù)清除,該函數(shù)清除php緩沖區(qū)內(nèi)的內(nèi)容,并且關(guān)閉輸出緩沖區(qū)。

10年的和平網(wǎng)站建設經(jīng)驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調(diào)整和平建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“和平網(wǎng)站設計”,“和平網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。

推薦:《PHP視頻教程》

php清除緩沖區(qū)的方法

方法1:ob_end_clean

ob_end_clean — 清空(擦除)緩沖區(qū)并關(guān)閉輸出緩沖

語法:

ob_end_clean ( void ) : bool

此函數(shù)丟棄最頂層輸出緩沖區(qū)的內(nèi)容并關(guān)閉這個緩沖區(qū)。如果想要進一步處理緩沖區(qū)的內(nèi)容,必須在ob_end_clean()之前調(diào)用ob_get_contents(),因為當調(diào)用ob_end_clean()時緩沖區(qū)內(nèi)容將被丟棄。

返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE。 錯誤的原因首先是,在調(diào)用時沒有一個起作用的緩沖區(qū),或者是因為某些原因緩沖區(qū)不能被刪除(可能對特殊緩沖區(qū)而言)。

方法2:使用ob_clean()

ob_clean — 清空(擦掉)輸出緩沖區(qū)

說明

ob_clean ( void ) : void

此函數(shù)用來丟棄輸出緩沖區(qū)中的內(nèi)容。

此函數(shù)不會像 ob_end_clean() 函數(shù)那樣銷毀輸出緩沖區(qū)。

輸出緩沖必須已被 ob_start() 以 PHP_OUTPUT_HANDLER_CLEANABLE 標記啟動。否則 ob_clean() 不會有效果。

返回值

沒有返回值。

擴展知識

什么是緩沖區(qū)(buffer)?

簡單而言,緩沖區(qū)的作用就是,把輸入或者輸出的內(nèi)容先放進內(nèi)存,而不顯示或者讀取.至于為什么要有緩沖區(qū),這是一個很廣泛的問題,如果有興趣,可以在網(wǎng)上找下資料.

其實緩沖區(qū)最本質(zhì)的作用就是,協(xié)調(diào)高速CPU和相對緩慢的IO設備(磁盤等)的運作.

PHP在執(zhí)行的時候,在什么地方有用到緩沖區(qū)?

想要了解PHP的緩沖區(qū),就要知道執(zhí)行PHP的時候,緩沖區(qū)被設置到了什么地方.

當執(zhí)行PHP的時候,如果碰到了echo print_r之類的會輸出數(shù)據(jù)的代碼,PHP就會將要輸出的數(shù)據(jù)放到PHP自身的緩沖區(qū),等待輸出.

當PHP自身的緩沖區(qū)接到指令,指示要輸出緩沖區(qū)的內(nèi)容時,將會把緩沖區(qū)內(nèi)的數(shù)據(jù)輸出到apache上, apache接受到PHP輸出的數(shù)據(jù),然后再把該數(shù)據(jù)存在到apache自身的緩沖區(qū)內(nèi),等到輸出

當apache接受到指令,只是要輸出緩沖區(qū)的內(nèi)容時, 將會把緩沖區(qū)的內(nèi)容輸出,返回到瀏覽器.

步驟:執(zhí)行php---->(碰到echo,print_r之類輸出)將輸出的數(shù)據(jù)放到php自身的緩沖區(qū),等待輸出---->(接收輸出緩沖區(qū)內(nèi)容)數(shù)據(jù)輸出到apache上,存入apache自身的緩沖區(qū)---->(接收輸出指定)緩沖區(qū)內(nèi)容輸出,返回到瀏覽器

echo、print => php output_buffering => webServer buffer => browser buff => browser display

即:腳本輸出 => php的緩沖區(qū)設置 => 系統(tǒng)的緩沖區(qū)設置(apache、nginx) => 瀏覽器的緩沖區(qū)設置 => 顯示給用戶

由此可見,PHP要輸出數(shù)據(jù)的時候,將會經(jīng)過兩個緩沖區(qū)(先是自身的,然后是apache的),再返回到瀏覽器.

緩沖區(qū)在PHP中起到什么作用?

1、最常見的就是在使用header函數(shù)之前,就已經(jīng)輸出了某些數(shù)據(jù),這樣會導致某些錯誤,例如 Cannot modify header information – headers already sent by;

echo "this is test";
header("LOCATION http://www.baidu.com");

出現(xiàn)這個錯誤的原因是, 在header之前已經(jīng)輸出了某些數(shù)據(jù),而輸出這些數(shù)據(jù)的同時, apache將會同時發(fā)送一個響應狀態(tài)到瀏覽器上(既然有輸出,即這個請求是有效的),而其后你又再次使用header函數(shù)

發(fā)送http頭,則會返回這個錯誤,錯誤的意思是:HTTP頭已經(jīng)發(fā)送出去了,你不能對他再做修改.

為什么使用緩沖區(qū)可以避免這個錯誤呢?

因為header函數(shù)是不受緩沖區(qū)影響的,當一碰到header函數(shù)的時候,PHP馬上執(zhí)行apache發(fā)送這一個http頭都瀏覽器.

而輸出的數(shù)據(jù)PHP打開輸出緩沖區(qū)后, 這些數(shù)據(jù)將會存放在緩沖區(qū),等待輸出.這樣就可以避免了之前所發(fā)生的錯誤.

2、通過PHP寫文件下載程序的時候.((實例篇)PHP實現(xiàn)HTTP斷點續(xù)傳的方法的原理)

為了讓文件下載更安全,同時提高更多的可控性,很多朋友都喜歡用PHP寫文件下載頁面.其原理很簡單,就是通過fwrite把文件內(nèi)容讀出并顯示,然后通過header來發(fā)送HTTP頭,讓瀏覽器知道這是一個附件,這樣就可以達到提供下載的效果.

如果用上面的辦法提供下載頁面,會碰到一個效率問題,如果一個文件很大,假設為100M,那么在不開啟緩沖區(qū)輸出的情況下,必須要把100M數(shù)據(jù)全部讀出,然后一次返回到頁面上,如果這樣做,用戶將會在所有數(shù)據(jù)讀完之后才會得到響應,降低了用戶體驗感.

如果開啟了輸出緩沖區(qū),當PHP程序讀完文件的某一段,然后馬上輸出到apache,然后讓apache馬上返回到瀏覽器,這樣就可以減少用戶等待時間.那后面的數(shù)據(jù)怎么辦呢?我們可以寫一個while循環(huán),一直一段一段地讀取文件每讀一段,就馬上輸出,直到把文件全部輸出為止,這樣瀏覽器就可以持續(xù)地接受到數(shù)據(jù),而不必等到所有文件讀取完畢. 另外,該做法還解決了另外一個很嚴重的問題.例如一個文件是100M,如果不開啟緩沖區(qū)的情況下,則需要把100M文件全部讀入內(nèi)存,然后再輸出.但是,如果PHP程序做了內(nèi)存限制呢?為了保證服務器的穩(wěn)定,管理員通常會把PHP的執(zhí)行

內(nèi)存設一個限制(通過php.ini總的memory_limit, 其默認值是8M), 也就是每個PHP程序使用的內(nèi)存不能使用超過這個值的內(nèi)存. 假設該值為8M,而要讀入的文件是100M,根本就沒有足夠的內(nèi)存來讀入該文件.這個時候,我們就需要用到上面的

辦法來解決這個問題,每次只讀某一段,這樣就可以避免了內(nèi)存的限制

3、靜態(tài)文件緩存

現(xiàn)在很多公司有這么一個需求, 就是某一個頁面在第一次訪問的時候,會執(zhí)行PHP,然后把顯示的內(nèi)容返回到瀏覽器,同時需要把這次顯示的內(nèi)容保存到服務器上,這樣下次訪問的時候,就直接把保存在服務器上的文件直接顯示,而不需要通過PHP來做操作這就是所謂的”靜態(tài)頁面緩存”.那怎么樣才能做到把內(nèi)容返回到瀏覽器的同時把數(shù)據(jù)保存到服務器上呢?這就要用到輸出緩沖區(qū)了.

ob_start();
echo 'aaa';
$string = ob_get_contents();
file_put_contents('a.html', $string);
ob_flush();
flush();

與輸出緩沖區(qū)有關(guān)的配置

在PHP.INI中,有兩個跟緩沖區(qū)緊密相關(guān)的配置項

1.output_buffering

該配置直接影響的是php本身的緩沖區(qū),有3種配置參數(shù).on/off/xK(x為某個整型數(shù)值);

on - 開啟緩沖區(qū)

off - 關(guān)閉緩沖區(qū)

256k - 開啟緩沖區(qū),而且當緩沖區(qū)的內(nèi)容超過256k的時候,自動刷新緩沖區(qū)(把數(shù)據(jù)發(fā)送到apache);

2.implicit_flush

該配置直接影響apache的緩沖區(qū),有2種配置參數(shù). on/off

on - 自動刷新apache緩沖區(qū),也就是,當php發(fā)送數(shù)據(jù)到apache的緩沖區(qū)的時候,不需要等待其他指令,直接就把輸出返回到瀏覽器

off - 不自動刷新apache緩沖區(qū),接受到數(shù)據(jù)后,等待刷新指令

與緩沖區(qū)有關(guān)的函數(shù)

1.ob_implicit_flush

作用和implicit_flush一樣,是否自動刷新apache的緩沖區(qū)

2.flush

作用是發(fā)送指令到apache,讓apache刷新自身的輸出緩沖區(qū).

3.ob_start

打開輸出緩沖區(qū),無論php.ini的文件如何配置,如果使用該函數(shù),即使output_buffering設置成off,也會打開輸出緩沖區(qū)

ob_start函數(shù)還接受一個參數(shù),該參數(shù)是一個函數(shù)的回調(diào),意思是,在輸入緩沖區(qū)內(nèi)容之前,需要使用調(diào)用傳遞進來的參數(shù)把緩沖區(qū)的內(nèi)容處理一次,再放入緩沖區(qū)內(nèi)

4.ob_flush

指示php本身刷新自身的緩沖區(qū),把數(shù)據(jù)發(fā)送到apache

5.ob_clean

清除php緩沖區(qū)里面的內(nèi)容

6.ob_end_clean

清除php緩沖區(qū)內(nèi)的內(nèi)容,并且關(guān)閉輸出緩沖區(qū)

7.ob_end_flush

把php自身的緩沖區(qū)里的內(nèi)容發(fā)送到apache,并把清除自身緩沖區(qū)內(nèi)的內(nèi)容

8.ob_get_clean

獲取緩沖區(qū)的內(nèi)容之后,清除緩沖區(qū).

9.ob_get_contents

獲取輸出緩沖區(qū)里的內(nèi)容

10.ob_get_flush

獲取緩沖區(qū)里的內(nèi)容,并且把這些內(nèi)容發(fā)送到apache

11.ob_get_length

獲取緩沖區(qū)里內(nèi)容的長度

12.ob_list_handlers

獲取運行ob_start時,所回調(diào)的函數(shù)名稱, 例如:

ob_start(‘ob_gzhandler’);

print_r(ob_list_handlers);

將打印出ob_gzhandler;

13.ob_gzhandler

該函數(shù)的作用是作為ob_start的回調(diào)參數(shù), 在緩沖區(qū)刷新之前,會調(diào)用該函數(shù)對數(shù)據(jù)進行到底gzip或者deflate壓縮.這個函數(shù)需要zlib擴展的支持.
本文題目:php怎么清除緩沖區(qū)?
本文地址:http://www.xueling.net.cn/article/cpgsje.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲永久精品一区 | 成人精品一区二区 | 99国产免费| 人人爱人人干婷婷丁香亚洲 | 久久无码色综合中文字幕 | 九九热在线精品 | 正在播放东北夫妻内射 | 在教室伦流澡到高潮H强圩动漫 | 国产91皮裤在线播放 | 销魂老女人老熟妇69XX | 国产亚洲3P无码一区二区 | 天天骑夜夜操 | 一区二区三区伦理片 | 亚洲乱亚洲乱妇 | 久久国产福利国产秒拍 | 欧美色综合网站 | 免费一级成人毛片 | 日韩一级网站 | 日韩精品免费一区 | 亚洲欧洲成人A∨在线观看 和岳每晚弄的高潮嗷嗷叫视频 | 韩国三级hd中文字幕叫床 | 九色国内自产破解 | 96sao精品免费视频观看 | 中国娇小与黑人巨大交导演 | 成人综合婷婷国产精品久久蜜臀 | 成人性生交片无码免费看 | av片在线播放网址 | 高黄暴H日本在线观看 | 中文字幕无码肉感爆乳在线 | 久久人人爽人人爽人人AV东京热 | 人人妻人人爽人人澡AV | 精品无码国产污污污免费网站 | 国产欧美精品一区二区三区四区 | 小泽玛利亚一区二区在线观看 | 国产丶欧美丶日本不卡视频 | 亚洲最黄视频 | 国产情侣作爱视频免费观看 | 亚洲精品国久久99热 | 无码h肉动漫在线观看 | 亚洲国产日韩欧美在线 | av免费人人干|