Output Buffer 輸出緩衝 函式的妙用

2021-12-29 22:33:57 字數 881 閱讀 1063

在php程式設計中, 我們經常會遇到一些直接產生輸出的函式, 如passthru(),readfile(), var_dump() 等. 但有時我們想把這些函式的輸出匯入到檔案中,或者先經過處理再輸出, 或者把這些函式的輸出作為字串來處理.

這時我們就要用到 output buffer(輸出緩衝) 函式了.

處理輸出緩衝的函式主要有這麼幾個:

ob_start() 開始輸出緩衝, 這時php停止輸出, 在這以後的輸出都被轉到乙個內部的緩衝裡.

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

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

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

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

舉個例子, var_dump()函式輸出乙個變數的結構和內容, 這在除錯的時候很有用.

但如果變數的內容裡有 $#@60; , $#@62; 等html的特殊字元, 輸出到網頁裡就看不見了. 怎麼辦呢?

用輸出緩衝函式能很容易的解決這個問題.

ob_start();

var_dump($var);

$out = ob_get_contents();

ob_end_clean();

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

echo "$#@60;pre$#@62;" . htmlspecialchars($out) . "$#@60;/pre$#@62;" ;

或者等到將來, 再或者把這個字串送到模板(template)裡再輸出.

outputbuffer輸出緩衝函式的妙用

在php程式設計中,我們經常會遇到一些直接產生輸出的函式,如passthru readfile var dump 等.但有時我們想把這些函式的輸出匯入到檔案中,或者先經過處理再輸出,或者把這些函式的輸出作為字串來處理.這時我們就要用到 output buffer 輸出緩衝 函式了.處理輸出緩衝的函式...

django rest framework快取應用

在我們web製作過程中進場使用到快取技術,那麼今天python中的一種簡單便捷的快取技術與大家分享 以下是在省 市 區 聯動的位址查詢做的快取處理 使用快取 省市區的資料是經常被使用者查詢使用的,而且資料基本不變化,所以我們可以將省市區資料進行快取處理,減少資料庫的查詢次數。在django rest...

WPF與緩動 四 弧形緩動

wpf與緩動 四 弧形緩動 周銀輝 弧形緩動就是其緩動曲線為一段圓弧,如何我們假設圓弧上的點的斜率為速度的話,那麼可以想像其速度的變化多麼具有戲劇性,其加速或減速來得很突然,與5次緩動差不多.參考以下 圓形緩動 protected override double getcurrentvaluecor...