程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> OutputBuffer輸出緩沖函數的妙用

OutputBuffer輸出緩沖函數的妙用

編輯:關於PHP編程

在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
. htmlspecialchars($out) .
; 或者等到將來, 再或者把這個字符串送到模板(Template)裡再輸出.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved