來源:互聯網
上載者:User
關鍵字
函數
控制
資訊
介紹
輸出
緩衝區
內容
發送
可以
瀏
這些函數可以讓你控制你的指令碼輸出的內容.可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送檔案頭新的情況. 輸出控制函數不對使用 header() 或 setcookie() 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用.
例 1. 控制輸出
ob_start();
echo "Hello\n";
setcookie ("cookiename", "cookiedata");
ob_end_flush();
?>
在上面的例子中,使用 echo() 的輸出內容將會儲存在輸出緩衝區中,直到調用了 ob_end_flush(). 這樣做有意義的地方是,調用 setcookie() 的內容被成功的儲存在 cookie 裡面而不會引起錯誤. (正常情況下,你不可以在有資料已經發送後再傳送檔案頭資訊到使用者瀏覽器.)
相關函數 header() and setcookie().
韓數列表
flush — 重新整理輸出緩衝區
儲存在輸出緩衝區的內容會被發送到瀏覽器
ob_start — 開啟輸出緩衝區
這樣所有的輸出資訊不在直接發送到瀏覽器,而是儲存在輸出緩衝區裡面
ob_get_contents — 返回輸出緩衝區的內容
如果你想以後處理輸出的內容,可以調用這個函數保留一個備份
ob_get_length — 返回輸出緩衝區的內容長度
ob_end_flush — 結束(發送)輸出緩衝區的內容,關閉輸出緩衝區
ob_end_clean — 刪除(放棄)輸出緩衝區的內容,關閉輸出緩衝區
如果你的程式發現輸出內容有問題,可以放棄所有輸出內容,可以防止泄漏某些秘密資訊
ob_implicit_flush — 開啟或關閉直接重新整理
開啟後,每個指令碼輸出都直接發送到瀏覽器,不再需要調用 flush()