PHP中的ob start 的使用

2021-09-06 15:50:20 字數 900 閱讀 9531

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

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

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

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

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

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

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

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

舉個例子:

define('ob_start',true);

if(ob_start)

echo 'sunzhiyan'.'

';//var_dump($var);

$out = ob_get_contents();

ob_end_clean();

ob_end_flush();

echo '

'.$out.'
' ;

這裡我們只有通過最後的輸出$out,才能能到前面的輸出結果

start is ok

sunzhiyan

這裡值得注意的問題是,你的輸出必須在緩衝結束後,才能夠輸出,在沒有結束的情況下,你輸出的時候,該輸出只是再次的新增到輸出緩衝裡面而已,只有再次的用ob_get_contents()

函式返回存入到輸出緩衝裡面的內容,才能得到需要輸出的值

PHP中的ob start用法詳解

用php的ob start 控制您的瀏覽器cache output control 函式可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於 當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函式不對使用 header 或 setcookie 傳送的檔案頭資訊產生影響,只對那些類似於 ec...

PHP中的ob start 輸出緩衝函式

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

解析PHP中ob start 函式的用法

ob start 函式用於開啟緩衝區,比如header 函式之前如果就有輸出,包括回車 空格 換行 都會有 header had all ready send by 的錯誤,這時可以先用ob sta開啟緩衝區php 的資料塊和echo 輸出都會進入緩衝區而不會立刻輸出.當然開啟緩衝區的作用很多,只要...