關於PHP函式 ob start

2021-06-28 18:08:07 字數 606 閱讀 6977

今天在看原始碼的時候,看到乙個函式 ob_start()

ob_start()這個函式可以理解成是輸出函式,可以把它理解成跟 echo 差不多。只是echo每次輸出都在php中有乙個維護的記憶體之中,也就是echo每次輸出的東西都是不一樣的。

而ob_start()這個函式就是用來抓取你的當前輸出。

他的作用如下:

防止在瀏覽器有輸出之後再使用setcookie,或者header,session_start函式造成的錯誤。(我本以為最開始說的**是這樣的作用,但後來朋友說不是的),其實這樣的用法少用為好,養成良好的**習慣。

捕捉對一些不可獲取的函式的輸出,比如phpinfo會輸出一大堆的html,但是我們無法用乙個變數例如$info=phpinfo();來捕捉,這時候ob就管用了。

對輸出的內容進行處理,例如進行gzip壓縮,例如進行簡繁轉換,例如進行一些字串替換。

生成靜態檔案,其實就是捕捉整頁的輸出,然後存成檔案,經常在生成html,或者整頁快取中使用。

防止在瀏覽器有輸出之後再使用setcookie,或者header,session_start函式造成的錯誤。(我本以為最開始說的**是這樣的作用,但後來朋友說不是的),其實這樣的用法少用為好,養成良好的**習慣。

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 輸出都會進入緩衝區而不會立刻輸出.當然開啟緩衝區的作用很多,只要...

ob start有關函式解析

一 相關函式簡介 1 flush 重新整理緩衝區的內容,輸出。函式格式 flush 說明 這個函式經常使用,效率很高。2 ob start 開啟輸出緩衝區 函式格式 void ob start void 說明 當緩衝區啟用時,所有來自php程式的非檔案頭資訊均不會傳送,而是儲存在內部緩衝區。為了輸出...