程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中ob(Output Buffer 輸出緩沖)函數使用方法

php中ob(Output Buffer 輸出緩沖)函數使用方法

編輯:PHP綜合
來自:http://bbs.phome.net/ShowThread/?threadid=9247&forumid=2 
在PHP編程中,  我們經常會遇到一些直接產生輸出的函數,  如passthru(),readfile(),  var_dump()  等.  但有時我們想把這些函數的輸出導入到文件中,或者先經過處理再輸出,  或者把這些函數的輸出作為字符串來處理.   
這時我們就要用到  Output  Buffer(輸出緩沖)  函數了.   

處理輸出緩沖的函數主要有這麼幾個:   
ob_start()  開始輸出緩沖,  這時PHP停止輸出,  在這以後的輸出都被轉到一個內部的緩沖裡.   

ob_get_contents()  這個函數返回內部緩沖的內容.  這就等於把這些輸出都變成了字符串.   

ob_get_  length()  返回內部緩沖的長度.   

ob_end_flush()  結束輸出緩沖,  並輸出緩沖裡的內容.  在這以後的輸出都是正常輸出.   

ob_end_clean()  結束輸出緩沖,  並扔掉緩沖裡的內容.   

舉個例子,  var_dump()函數輸出一個變量的結構和內容,  這在調試的時候很有用.   
但如果變量的內容裡有  <  ,  >  等HTML的特殊字符,  輸出到網頁裡就看不見了.  怎麼辦呢?   
用輸出緩沖函數能很容易的解決這個問題.   

ob_start();   
var_dump($var);   
$out  =  ob_get_contents();   
ob_end_clean();   


這時var_dump()的輸出已經存在  $out  裡了.  你可以現在就輸出:   

echo  '<pre>'  .  htmlspecialchars($out)  .  '</pre>'  ;   

或者等到將來,  再或者把這個字符串送到模板(Template)裡再輸出.  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved