今天在看原始碼的時候,看到乙個函式 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程式的非檔案頭資訊均不會傳送,而是儲存在內部緩衝區。為了輸出...