1. 程式人生 > >PHP靜態檔案快取

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中的資料清空,但不傳送給客戶端瀏覽器。