av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

PHP下對(duì)緩沖區(qū)的控制

瀏覽:2日期:2024-02-21 08:05:43

PHP4.0 提供了一個(gè)輸出緩沖函數(shù)集合。輸出緩沖支持允許你寫包裹函數(shù)功能壓縮緩沖區(qū)。在 PHP4 的輸出緩沖支持允許 HTML 頭信息存放, 無論 HTML的正文是否輸出。但在PHP中,頭信息( (header(), content type, and cookies )不采用緩沖 。在使用PHP的過程中不免要使用到header和 setcookie 兩個(gè)函數(shù),這兩個(gè)函數(shù)會(huì)發(fā)送一段文件頭信息給瀏覽器,但是如果在使用這兩個(gè)函數(shù)之前已經(jīng)有了任何輸出(包括空輸出,比如空格,回車和換行)就會(huì)提示出錯(cuò), 提示信息如下:“Header had all ready send by”!。在PHP 4.0里面加入了緩沖區(qū)控制的幾個(gè)函數(shù),使用這些函數(shù)可以幫我們解決很多問題。

函數(shù)名稱 函數(shù)格式 功能 說明Flush flush() 輸出緩沖區(qū)內(nèi)的內(nèi)容并且刪除緩沖區(qū)。 這個(gè)函數(shù)經(jīng)常使用,效率很高。ob_start void ob_start(void) 打開輸出緩沖區(qū)。 當(dāng)緩沖區(qū)激活時(shí),所有來自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或者 使用ob_end_clean()來輸出緩沖區(qū)的內(nèi)容。ob_get_contents string ob_get_contents(void) 返回內(nèi)部緩沖區(qū)的內(nèi)容。 這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的內(nèi)容,如果輸出緩沖區(qū)沒有激活,則返回 FALSE 。ob_get_length int ob_get_length(void) 返回內(nèi)部緩沖區(qū)的長度。 這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的長度;和ob_get_contents一樣,如果輸出緩沖區(qū)沒有激活。則返回 FALSE。ob_end_flush void ob_end_flush(void) 發(fā)送內(nèi)部緩沖區(qū)的內(nèi)容到瀏覽器,并且關(guān)閉輸出緩沖區(qū)。 這個(gè)函數(shù)發(fā)送輸出緩沖區(qū)的內(nèi)容(如果有的話)。ob_end_clean void ob_end_clean(void) 刪除內(nèi)部緩沖區(qū)的內(nèi)容,并且關(guān)閉內(nèi)部緩沖區(qū)。 這個(gè)函數(shù)不會(huì)輸出內(nèi)部緩沖區(qū)的內(nèi)容!ob_implicit_flush void ob_implicit_flush ([int flag]) 打開或關(guān)閉絕對(duì)刷新 使用過Perl的人都知道$|=x的意義,這個(gè)字符串可以打開/關(guān)閉緩沖區(qū),而ob_implicit_flush函數(shù)也和那個(gè)一樣,默認(rèn)為關(guān)閉緩沖區(qū), 打開絕對(duì)輸出。二、實(shí)例分析:1、用緩沖區(qū)控制的函數(shù)防止文件頭發(fā)送信息出錯(cuò)。<? //PHP提示符ob_start(); //打開緩沖區(qū)echo 'Welcome /n'; //輸出header('location:next.php'); //把瀏覽器重定向到next.php?>如 果去掉ob_start,PHP就會(huì)提示在文件的第4行出錯(cuò),出錯(cuò)信息為“Header had all ready send by”,但是加上ob_start,就不會(huì)提示出錯(cuò),原因是當(dāng)打開了緩沖區(qū),echo后面的字符不會(huì)輸出到瀏覽器,而是保留在服務(wù)器的緩沖區(qū)中,直到你使 用flush或者ob_end_flush才會(huì)輸出,所以并不會(huì)出現(xiàn)文件頭已輸出的錯(cuò)誤!2、保存輸出(這是一個(gè)很經(jīng)典的用途)。假 如你想知道客戶端的屏幕輸出信息像函數(shù)的輸出結(jié)果等,而且這個(gè)輸出信息會(huì)因客戶端的不同而不同。我們可以用函數(shù) <? phpinfo(); ?> 得到服務(wù)器的設(shè)置信息,但是如果想要保存phpinfo()函數(shù)的輸出怎么辦呢?在沒有緩沖區(qū)控制之前,可以說一點(diǎn)辦法也沒有,但是有了緩沖區(qū)的控制,我 們可以輕松的解決。<?ob_start(); //打開緩沖區(qū)phpinfo(); //使用phpinfo函數(shù)$info=ob_get_contents(); //得到緩沖區(qū)的內(nèi)容并且賦值給$info$file=fopen('phpinfo.txt','w'); //打開文件phpinfo.txtfwrite($file,$info); //寫入信息到phpinfo.txtfclose($file); //關(guān)閉文件phpinfo.txt?>用以上的方法,就可以把不同用戶的phpinfo信息保存下來,這在以前恐怕沒有辦法辦到!同樣,用緩沖區(qū)的方法可以保存一般方法難以完成的任務(wù),這其實(shí)上就是將一些“過程”轉(zhuǎn)化為“函數(shù)”的方法。

標(biāo)簽: PHP
主站蜘蛛池模板: 99精品久久 | 黑人巨大猛烈捣出白浆 | 成人动漫免费观看 | 九九热在线播放 | 久久久精品 | 欧美福利一区 | 亚洲天堂久久久 | 黄色小视频在线免费观看 | 欧美片网站yy | 国产不卡在线观看 | 欧美日韩免费在线 | 亚洲影视一区 | 91亚洲国产 | 国产黄色免费观看 | 亚洲天堂一区二区三区 | 国产精品久久久久久久久久 | 毛片毛片毛片毛片毛片 | 久久青青操 | 国产999视频| 亚洲精品1区2区 | 日韩视频一区二区 | 激情影院在线观看 | 98久久 | 午夜国产视频 | 成人免费小视频 | 中文字幕在线观看日本 | 在线观看av不卡 | 成人午夜网 | 无套内谢的新婚少妇国语播放 | 在线观看免费黄色 | 麻豆一区二区三区 | 二区三区视频 | 欧美日韩不卡 | 免费观看一级一片 | 免费观看一级一片 | 99在线视频免费观看 | 四虎视频在线观看 | av免费在线观看网站 | 91亚洲国产| 高清国产mv在线观看 | 黄色片中文字幕 |