obstartphp
1. php頁面里ob_start() 開啟緩存 打開速度就會變快么
ob_start — 打開輸出控制緩沖
此函數將打開輸出緩沖。當輸出緩沖激活後,腳本將不會輸出內容(除http標頭外),相反需要輸出的內容被存儲在內部緩沖區中。
內部緩沖區的內容可以用 ob_get_contents() 函數復制到一個字元串變數中。
想要輸出存儲在內部緩沖區中的內容,可以使用 ob_end_flush() 函數。另外,
使用 ob_end_clean() 函數會靜默丟棄掉緩沖區的內容。
-----------------------
直接使用緩存,不再重新渲染生成html,當然會變快。
2. php中 ob_start()有什麼作用呢
<?php
ob_start();//開啟緩沖區
echo "這是第一次輸出內容!\n";
$ff[1] = ob_get_contents() ; //獲取當前緩沖區內容
ob_flush();//緩沖器清除
echo "這是第二次輸出內容!\n";
$ff[2] = ob_get_contents() ; //獲取當前緩沖區內容
echo "這是第三次輸出內容!\n";
$ff[3] = ob_get_contents() ; //獲取當前緩沖區內容
echo "<pre>";
print_r($ff);
//明白怎麼用了吧~ 這些函數一般是用來獲取 頁面的執行結果的,可以用來作緩存 或者 Ajax 調試時的追蹤
//請採納~ 謝謝
?>
3. PHP中ob_start是什麼功能
ob是output buffering的簡稱,就是輸出緩沖區。如果使用了ob_start函數,那麼之後的輸出內容(echo等)就不進行實際輸出,而是存入緩沖區裡面,隨後可以使用ob_flush實際輸出、ob_clean刪除、ob_get_contents獲得內容保存到靜態文件等。
使用輸出緩沖區有兩個主要的好處:一是可以在輸出一些內容之後在設置header(例如cookie等),使得程序設計的邏輯性變得簡單;二是可以對緩沖區裡面的輸出內容撤銷、刪除、壓縮、保存到文件等操作。
相關的操作是使用一系列的ob_函數來實現的,常用的有下面這些,通過函數名稱可以猜測其功能,需要獲得詳細幫助可以查看文檔或者網路搜索:
ob_clean — Clean (erase) the output buffer
ob_end_clean — Clean (erase) the output buffer and turn off output buffering
ob_end_flush — Flush (send) the output buffer and turn off output buffering
ob_flush — Flush (send) the output buffer
ob_get_clean — Get current buffer contents and delete current output buffer
ob_get_contents — Return the contents of the output buffer
ob_get_flush — Flush the output buffer, return it as a string and turn off output buffering
ob_get_length — Return the length of the output buffer
ob_get_level — Return the nesting level of the output buffering mechanism
ob_get_status — Get status of output buffers
ob_gzhandler — ob_start callback function to gzip output buffer
ob_implicit_flush — Turn implicit flush on/off
ob_list_handlers — List all output handlers in use
ob_start — Turn on output buffering
output_add_rewrite_var — Add URL rewriter values
output_reset_rewrite_vars — Reset URL rewriter values
4. php中「 ob_start()」有什麼作用呢
開啟緩沖區,緩沖器清除。
5. php框架中的初始文件一般會判斷用ob_start('ob_gzhandler')還是ob_start(),那ob_end_clean在哪裡呢
開始的時候用ob_start、ob_start('ob_gzhandler')都可以,後者能壓縮輸出內容,效果是浪費一點伺服器的CPU、節省網路流量。
ob_end_clean一般都不用,功能是清除緩沖區並關閉緩沖功能,相當於資料庫的rollback。
刷新輸出緩沖區的語句可以不用,程序運行完畢會自動刷新輸出。
再看看別人怎麼說的。