讓我們快速回顧一下。 PHP是一種解釋型語言,因此每個語句都一個接一個地執行,因此PHP傾向於將HTML大量發送給瀏覽器,從而降低了性能。使用輸出緩衝,生成的HTML將存儲在緩衝區或字符串變量中,並在執行PHP腳本中的最後一條語句後發送到緩衝區以進行呈現。
但是默認情況下不啟用輸出緩衝。為了啟用輸出緩衝,必須先使用ob_start()函數,然後再在腳本中回顯任何HTML內容。
用法:
bool ob_start ()
參數:該函數可以接受一堆可選參數,如下所示:
- 回調函數:這是一個可選參數,需要一個函數,該函數接收輸出緩衝區的內容並返回要發送到瀏覽器進行渲染的字符串。回調函數通常用於壓縮HTML內容。
- 塊大小:這是另一個可選參數,用於設置提供的大小的輸出緩衝區大小,並在緩衝區已滿或超過時立即輸出。
- 標誌:這是另一個可選參數,它接受位掩碼來控製可以在輸出緩衝區上實現的操作。傳遞此參數以限製訪問。默認權限允許訪問緩衝區的清理,刷新和刪除。
返回類型:成功時此函數返回TRUE,否則返回FALSE。
以下示例程序旨在說明ob_start()在PHP中的工作:
<?php
// PHP code to illustrate the working
// of ob_start() Function
function callback($buffer){
// Return Everything in CAPS.
return (strtoupper($buffer));
}
ob_start("callback");
echo "Hello Geek!";
ob_end_flush();
?>
輸出:
HELLO GEEK!
注意事項:
- 啟用輸出緩衝。
- 輸出緩衝標誌可以是四種類型:PHP_OUTPUT_HANDLER_CLEANABLE(僅清除),PHP_OUTPUT_HANDLER_FLUSHABLE(僅清除),PHP_OUTPUT_HANDLER_REMOVABLE(僅移除),PHP_OUTPUT_HANDLER_STDFLAGS(允許每次操作)。
- 輸出緩衝區是可堆疊的,因此允許嵌套ob_start()方法,並且如果順序關閉/刷新它們,則可以按需要工作。
參考:
http://php.net/manual/en/function.ob-start.php
相關用法
- p5.js sq()用法及代碼示例
- d3.js d3.map.has()用法及代碼示例
- PHP next()用法及代碼示例
- p5.js day()用法及代碼示例
- p5.js pow()用法及代碼示例
- CSS var()用法及代碼示例
- d3.js d3.map.set()用法及代碼示例
- PHP pow( )用法及代碼示例
- PHP pi( )用法及代碼示例
- PHP Ds\Map get()用法及代碼示例
- PHP Ds\Map put()用法及代碼示例
- p5.js str()用法及代碼示例
注:本文由純淨天空篩選整理自PronabM大神的英文原創作品 PHP | ob_start() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。