用PHP的ob_start();控制您的瀏覽器cache!

PHP 的ob_start();控制您的瀏覽器cache!

Output Control 函數可讓你自由控制腳本中數據的輸出。它很是地有用,特別是對於:當你想在數據已經輸出後,再輸出文件頭的狀況。輸出控制函數不對使用 header() 或 setcookie(), 發送的文件頭信息產生影響,只對那些相似於 echo() 和 PHP 代碼的數據塊有做用。

咱們先舉一個簡單的例子,讓你們對Output Control有一個大體的印象:
Example 1.

CODE ob_start(); //打開緩衝區
echo \"Hellon\"; //輸出
header("location:index.php"); //把瀏覽器重定向到index.php
ob_end_flush();//輸出所有內容到瀏覽器
?>

全部對header()函數有了解的人都知道,這個函數會發送一段文件頭給瀏覽器,可是若是在使用這個函數以前已經有了任何輸出(包括空輸出,好比空格,回車和換行)就會提示出錯。若是咱們去掉第一行的ob_start(),再執行此程序,咱們會發現獲得了一條錯誤提示:"Header had all ready send by"!可是加上ob_start,就不會提示出錯,緣由是當打開了緩衝區,echo後面的字符不會輸出到瀏覽器,而是保留在服務器,直到你使用flush或者ob_end_flush纔會輸出,因此並不會有任何文件頭輸出的錯誤!


1、 相關函數簡介:
一、Flush:刷新緩衝區的內容,輸出。
函數格式:flush()
說明:這個函數常常使用,效率很高。
二、ob_start :打開輸出緩衝區
函數格式:void ob_start(void)
說明:當緩衝區激活時,全部來自PHP程序的非文件頭信息均不會發送,而是保存在內部緩衝區。爲了輸出緩衝區的內容,可使用ob_end_flush()或flush()輸出緩衝區的內容。
3 、ob_get_contents :返回內部緩衝區的內容。
使用方法:string ob_get_contents(void)
說明:這個函數會返回當前緩衝區中的內容,若是輸出緩衝區沒有激活,則返回 FALSE 。
四、ob_get_length:返回內部緩衝區的長度。
使用方法:int ob_get_length(void)
說明:這個函數會返回當前緩衝區中的長度;和ob_get_contents同樣,若是輸出緩衝區沒有激活。則返回 FALSE。
五、ob_end_flush :發送內部緩衝區的內容到瀏覽器,而且關閉輸出緩衝區。
使用方法:void ob_end_flush(void)
說明:這個函數發送輸出緩衝區的內容(若是有的話)。
 javascript

閱讀全文>>php

相關文章
相關標籤/搜索