php中ob(Output Buffer 輸出緩沖)函數(shù)使用方法
更新時(shí)間:2007年07月21日 00:00:00 作者:
來(lái)自:http://bbs.phome.net/ShowThread/?threadid=9247&forumid=2
在PHP編程中, 我們經(jīng)常會(huì)遇到一些直接產(chǎn)生輸出的函數(shù), 如passthru(),readfile(), var_dump() 等. 但有時(shí)我們想把這些函數(shù)的輸出導(dǎo)入到文件中,或者先經(jīng)過(guò)處理再輸出, 或者把這些函數(shù)的輸出作為字符串來(lái)處理.
這時(shí)我們就要用到 Output Buffer(輸出緩沖) 函數(shù)了.
處理輸出緩沖的函數(shù)主要有這么幾個(gè):
ob_start() 開(kāi)始輸出緩沖, 這時(shí)PHP停止輸出, 在這以后的輸出都被轉(zhuǎn)到一個(gè)內(nèi)部的緩沖里.
ob_get_contents() 這個(gè)函數(shù)返回內(nèi)部緩沖的內(nèi)容. 這就等于把這些輸出都變成了字符串.
ob_get_ length() 返回內(nèi)部緩沖的長(zhǎng)度.
ob_end_flush() 結(jié)束輸出緩沖, 并輸出緩沖里的內(nèi)容. 在這以后的輸出都是正常輸出.
ob_end_clean() 結(jié)束輸出緩沖, 并扔掉緩沖里的內(nèi)容.
舉個(gè)例子, var_dump()函數(shù)輸出一個(gè)變量的結(jié)構(gòu)和內(nèi)容, 這在調(diào)試的時(shí)候很有用.
但如果變量的內(nèi)容里有 < , > 等HTML的特殊字符, 輸出到網(wǎng)頁(yè)里就看不見(jiàn)了. 怎么辦呢?
用輸出緩沖函數(shù)能很容易的解決這個(gè)問(wèn)題.
ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();
這時(shí)var_dump()的輸出已經(jīng)存在 $out 里了. 你可以現(xiàn)在就輸出:
echo '<pre>' . htmlspecialchars($out) . '</pre>' ;
或者等到將來(lái), 再或者把這個(gè)字符串送到模板(Template)里再輸出.
在PHP編程中, 我們經(jīng)常會(huì)遇到一些直接產(chǎn)生輸出的函數(shù), 如passthru(),readfile(), var_dump() 等. 但有時(shí)我們想把這些函數(shù)的輸出導(dǎo)入到文件中,或者先經(jīng)過(guò)處理再輸出, 或者把這些函數(shù)的輸出作為字符串來(lái)處理.
這時(shí)我們就要用到 Output Buffer(輸出緩沖) 函數(shù)了.
處理輸出緩沖的函數(shù)主要有這么幾個(gè):
ob_start() 開(kāi)始輸出緩沖, 這時(shí)PHP停止輸出, 在這以后的輸出都被轉(zhuǎn)到一個(gè)內(nèi)部的緩沖里.
ob_get_contents() 這個(gè)函數(shù)返回內(nèi)部緩沖的內(nèi)容. 這就等于把這些輸出都變成了字符串.
ob_get_ length() 返回內(nèi)部緩沖的長(zhǎng)度.
ob_end_flush() 結(jié)束輸出緩沖, 并輸出緩沖里的內(nèi)容. 在這以后的輸出都是正常輸出.
ob_end_clean() 結(jié)束輸出緩沖, 并扔掉緩沖里的內(nèi)容.
舉個(gè)例子, var_dump()函數(shù)輸出一個(gè)變量的結(jié)構(gòu)和內(nèi)容, 這在調(diào)試的時(shí)候很有用.
但如果變量的內(nèi)容里有 < , > 等HTML的特殊字符, 輸出到網(wǎng)頁(yè)里就看不見(jiàn)了. 怎么辦呢?
用輸出緩沖函數(shù)能很容易的解決這個(gè)問(wèn)題.
ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();
這時(shí)var_dump()的輸出已經(jīng)存在 $out 里了. 你可以現(xiàn)在就輸出:
echo '<pre>' . htmlspecialchars($out) . '</pre>' ;
或者等到將來(lái), 再或者把這個(gè)字符串送到模板(Template)里再輸出.
相關(guān)文章
10個(gè)簡(jiǎn)化PHP開(kāi)發(fā)的工具
這篇文章主要介紹了10個(gè)簡(jiǎn)化PHP開(kāi)發(fā)的工具,都是今年比較熱門(mén)和使用的,需要的朋友可以參考下2014-12-12
基于PHP實(shí)現(xiàn)郵件實(shí)時(shí)通知功能
隨著企業(yè)化的管理越來(lái)越規(guī)范,各種項(xiàng)目管理系統(tǒng)中,都需要加入到郵件實(shí)時(shí)通知功能,所以在項(xiàng)目中如何整合發(fā)郵件功能,其實(shí)也是很重要的一點(diǎn)。本文為大家介紹了PHP實(shí)現(xiàn)郵件實(shí)時(shí)通知功能的示例代碼,需要的可以參考一下2022-04-04
php+mysqli實(shí)現(xiàn)批量執(zhí)行插入、更新及刪除數(shù)據(jù)的方法
這篇文章主要介紹了php+mysqli實(shí)現(xiàn)批量執(zhí)行插入、更新及刪除數(shù)據(jù)的方法,主要涉及multi_query()函數(shù)的用法,需要的朋友可以參考下2015-01-01
php頁(yè)面跳轉(zhuǎn)代碼 輸入網(wǎng)址跳轉(zhuǎn)到你定義的頁(yè)面
我先判斷一下你是否開(kāi)啟了https,如果是就正常的https頁(yè)面,如果沒(méi)有開(kāi)始則跳轉(zhuǎn)到項(xiàng)目的目錄下面,感興趣的朋友可以參考下哈,希望對(duì)你有所幫助2013-03-03
LINUX下PHP程序?qū)崿F(xiàn)WORD文件轉(zhuǎn)化為PDF文件的方法
這篇文章主要介紹了LINUX下PHP程序?qū)崿F(xiàn)WORD文件轉(zhuǎn)化為PDF文件的方法,涉及php針對(duì)Word文檔與pdf格式文件的相關(guān)操作技巧,需要的朋友可以參考下2016-05-05

