PHP靜態檔案快取
ob_start();
2 echo ‘aaa’;
3 $string = ob_get_contents();
4 file_put_contents(‘a.html’, $string);
5 ob_flush();
6 flush();與緩衝區有關的函式
1.ob_implicit_flush 開啟或關閉絕對重新整理
使用過Perl的人都知道$|=x的意義,這個字串可以開啟/關閉緩衝區,而ob_implicit_flush函式也和那個一樣,
預設為關閉緩衝區,開啟絕對輸出後,每個指令碼輸出都直接傳送到瀏覽器,不再需要呼叫 flush()
2.flush
重新整理緩衝區的內容,輸出,將釋放出來的資料傳送給瀏覽器
3.ob_start 開啟輸出緩衝區
當緩衝區啟用時,所有來自PHP程式的非檔案頭資訊均不會發送,而是儲存在內部緩衝區。為了輸出緩衝區的內容,
可以使用ob_end_flush()或flush()輸出緩衝區的內容。
4.ob_flush
重新整理PHP自身的緩衝區,把資料從PHP的緩衝(buffer)中釋放出來
5.ob_clean
清除php緩衝區裡面的內容
6.ob_end_clean
清除php緩衝區內的內容,並且關閉輸出緩衝區
7.ob_end_flush
傳送內部緩衝區的內容到瀏覽器,並且關閉輸出緩衝區。
8.ob_get_clean
得到當前緩衝區的內容並刪除當前輸出緩衝區
9.ob_get_contents 返回內部緩衝區的內容
這個函式會返回當前緩衝區中的內容,如果輸出緩衝區沒有啟用,則返回 FALSE 。
10.ob_get_flush
獲取緩衝區裡的內容, 刷出(送出)緩衝區內容,以字串形式返回內容,並關閉輸出緩衝區。
11.ob_get_length
這個函式會返回當前緩衝區中的長度;和ob_get_contents一樣,如果輸出緩衝區沒有啟用。則返回
12.ob_list_handlers
獲取執行ob_start時,所回撥的函式名稱, 例如:
ob_start(‘ob_gzhandler’);
print_r(ob_list_handlers);
將打印出ob_gzhandler;
13.ob_gzhandler
該函式的作用是作為ob_start的回撥引數, 在緩衝區重新整理之前,會呼叫該函式對資料進行到底gzip或者deflate壓縮.這個函式需要zlib擴充套件的支援.
ob_end_flush只是把php buffer中的資料傳送到瀏覽器,而ob_clean_clean將php bufeer中的資料清空,但不傳送給客戶端瀏覽器。