在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)裡再輸出.
Output Buffer 輸出緩衝 函式的妙用
在php程式設計中,我們經常會遇到一些直接產生輸出的函式,如passthru readfile var dump 等.但有時我們想把這些函式的輸出匯入到檔案中,或者先經過處理再輸出,或者把這些函式的輸出作為字串來處理.這時我們就要用到 output buffer 輸出緩衝 函式了.處理輸出緩衝的函式...
django rest framework快取應用
在我們web製作過程中進場使用到快取技術,那麼今天python中的一種簡單便捷的快取技術與大家分享 以下是在省 市 區 聯動的位址查詢做的快取處理 使用快取 省市區的資料是經常被使用者查詢使用的,而且資料基本不變化,所以我們可以將省市區資料進行快取處理,減少資料庫的查詢次數。在django rest...
WPF與緩動 四 弧形緩動
wpf與緩動 四 弧形緩動 周銀輝 弧形緩動就是其緩動曲線為一段圓弧,如何我們假設圓弧上的點的斜率為速度的話,那麼可以想像其速度的變化多麼具有戲劇性,其加速或減速來得很突然,與5次緩動差不多.參考以下 圓形緩動 protected override double getcurrentvaluecor...