PHP輸出控制函數(shù)
ob_start ([ callback $output_callback [, int $chunk_size [, bool $erase ]]] )
打開輸出控制緩沖
此函數(shù)將打開輸出緩沖擎勘。當(dāng)輸出緩沖激活后绎晃,腳本將不會輸出內(nèi)容(除http標(biāo)頭外),相反需要輸出的內(nèi)容被存儲在內(nèi)部緩沖區(qū)中。
參數(shù) - output_callback
此函數(shù)把一個字符串當(dāng)作參數(shù)并返回一個字符串明刷。 當(dāng)輸出緩沖區(qū)被( ob_flush(), ob_clean() 或者相似的函數(shù))沖刷(送出)或者被清洗的時候;或者在請求結(jié)束之際輸出緩沖區(qū)內(nèi)容被沖刷到瀏覽器的時候該函數(shù)將會被調(diào)用。 當(dāng)調(diào)用 output_callback 時,它將收到輸出緩沖區(qū)的內(nèi)容作為參數(shù) 并預(yù)期返回一個新的輸出緩沖區(qū)作為結(jié)果颤专,這個新返回的輸出緩沖區(qū)內(nèi)容將被送到瀏覽器。 如果這個 output_callback 不是一個可以調(diào)用的函數(shù)钠乏,此函數(shù) 會返回 FALSE 栖秕。
ob_flush
沖刷出(送出)輸出緩沖區(qū)中的內(nèi)容,這個函數(shù)將送出緩沖區(qū)的內(nèi)容(如果里邊有內(nèi)容的話)晓避。如果想進(jìn)一步處理緩沖區(qū)中的內(nèi)容簇捍,必須在ob_flush()之前調(diào)用ob_get_contents() ,因為在調(diào)用ob_flush()之后緩沖區(qū)內(nèi)容將被丟棄够滑。
flush
刷新PHP程序的緩沖垦写,而不論PHP執(zhí)行在何種情況下(CGI 吕世,web服務(wù)器等等)彰触。該函數(shù)將當(dāng)前為止程序的所有輸出發(fā)送到用戶的瀏覽器。
flush() 函數(shù)不會對服務(wù)器或客戶端瀏覽器的緩存模式產(chǎn)生影響命辖。因此况毅,必須同時使用 ob_flush() 和flush() 函數(shù)來刷新輸出緩沖分蓖。
ob_end_flush
沖刷出(送出)輸出緩沖區(qū)內(nèi)容并關(guān)閉緩沖
這個函數(shù)將送出最頂層緩沖區(qū)的內(nèi)容(如果里邊有內(nèi)容的話),并關(guān)閉緩沖區(qū)尔许。如果想進(jìn)一步處理緩沖區(qū)中的內(nèi)容么鹤,必須在ob_end_flush()之前調(diào)用 ob_get_contents(),因為在調(diào)用ob_end_flush()后緩沖區(qū)內(nèi)容被丟棄味廊。
ob_clean
清空(擦掉)輸出緩沖區(qū)
此函數(shù)用來丟棄輸出緩沖區(qū)中的內(nèi)容蒸甜。
此函數(shù)不會像 ob_end_clean() 函數(shù)那樣銷毀輸出緩沖區(qū)。
輸出緩沖必須已被 ob_start() 以 PHP_OUTPUT_HANDLER_CLEANABLE 標(biāo)記啟動余佛。否則 ob_clean() 不會有效果柠新。
ob_end_clean
清空(擦除)緩沖區(qū)并關(guān)閉輸出緩沖
此函數(shù)丟棄最頂層輸出緩沖區(qū)的內(nèi)容并關(guān)閉這個緩沖區(qū)。如果想要進(jìn)一步處理緩沖區(qū)的內(nèi)容辉巡,必須在ob_end_clean()之前調(diào)用ob_get_contents()恨憎,因為當(dāng)調(diào)用ob_end_clean()時緩沖區(qū)內(nèi)容將被丟棄。
ob_get_clean
得到當(dāng)前緩沖區(qū)的內(nèi)容并刪除當(dāng)前輸出緩存
返回輸出緩沖區(qū)的內(nèi)容郊楣,并結(jié)束輸出緩沖區(qū)憔恳。如果輸出緩沖區(qū)不是活躍的,即返回 FALSE 净蚤。
ob_get_contents
返回輸出緩沖區(qū)的內(nèi)容,只是得到輸出緩沖區(qū)的內(nèi)容钥组,但不清除它。
ob_get_flush
刷出(送出)緩沖區(qū)內(nèi)容塞栅,以字符串形式返回內(nèi)容者铜,并關(guān)閉輸出緩沖區(qū)。
ob_get_length
返回輸出緩沖區(qū)內(nèi)容的長度