国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

php函數ob_start()、ob_end_clean()、ob_get_contents()

2024-09-04 11:48:18
字體:
來源:轉載
供稿:網友

文章介紹了php函數ob_start()、ob_end_clean()、ob_get_contents(),有需要的朋友可參考一下.

下面3個函數的用法

ob_get_contents() - 返回輸出緩沖區的內容

ob_get_contents(PHP 4, PHP 5)

ob_get_contents — 返回輸出緩沖區的內容

說明

string ob_get_contents ( void )

只是得到輸出緩沖區的內容,但不清除它.

返回值

此函數返回輸出緩沖區的內容,或者如果輸出緩沖區無效將返回FALSE .

實例代碼如下:

  1. Example #1 A simple ob_get_contents() example 
  2. ob_start(); 
  3. echo "Hello "
  4. $out1 = ob_get_contents(); 
  5. echo "World"
  6. $out2 = ob_get_contents(); 
  7. ob_end_clean(); 
  8. var_dump($out1$out2); 
  9. ?> 

以上例程會輸出:

string(6) "Hello "

string(11) "Hello World"

ob_flush() - 沖刷出(送出)輸出緩沖區中的內容

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — 沖刷出(送出)輸出緩沖區中的內容

說明

void ob_flush ( void )

這個函數將送出緩沖區的內容(如果里邊有內容的話).如果想進一步處理緩沖區中的內容,必須在ob_flush()之前調用ob_get_contents() ,因為在調用ob_flush()之后緩沖區內容將被丟棄.

此函數不會銷毀輸出緩沖區,而像ob_end_flush() 函數會銷毀緩沖區.

返回值

沒有返回值.

ob_clean() - 清空(擦掉)輸出緩沖區

ob_clean

(PHP 4 >= 4.2.0, PHP 5)

ob_clean — 清空(擦掉)輸出緩沖區

說明

void ob_clean ( void )

此函數用來丟棄輸出緩沖區中的內容.

此函數不會銷毀輸出緩沖區,而像 ob_end_clean() 函數會銷毀輸出緩沖區.

返回值

沒有返回值.

ob_end_flush() - 沖刷出(送出)輸出緩沖區內容并關閉緩沖

ob_end_flush — 沖刷出(送出)輸出緩沖區內容并關閉緩沖

說明

bool ob_end_flush ( void )

這個函數將送出最頂層緩沖區的內容(如果里邊有內容的話),并關閉緩沖區.如果想進一步處理緩沖區中的內容,必須在ob_end_flush()之前調用 ob_get_contents(),因為在調用ob_end_flush()后緩沖區內容被丟棄.

Note: 這個函數與ob_get_flush()相似,不同的是ob_get_flush()會把緩沖區中的內容作為字符串返回.

返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE. 錯誤的原因首先是,在調用時沒有一個起作用的緩沖區,或者是因為某些原因緩沖區不能被刪除(可能對特殊緩沖區而言).

錯誤/異常

如果函數失敗了,將引發一個E_NOTICE異常.

更新日志

版本  說明

4.2.0  添加了布爾返回值.

Example #1 ob_end_flush() example

下面的例子給出了一種送出緩沖區內容并關閉所有輸出緩沖區的容易的方法:

實例代碼如下:

  1.   while (@ob_end_flush()); 
  2. ?> 

ob_end_clean() - 清空(擦除)緩沖區并關閉輸出緩沖

ob_end_clean — 清空(擦除)緩沖區并關閉輸出緩沖

說明

bool ob_end_clean ( void )

此函數丟棄最頂層輸出緩沖區的內容并關閉這個緩沖區.如果想要進一步處理緩沖區的內容,必須在ob_end_clean()之前調用ob_get_contents(),因為當調用ob_end_clean()時緩沖區內容將被丟棄.

返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE. 錯誤的原因首先是,在調用時沒有一個起作用的緩沖區,或者是因為某些原因緩沖區不能被刪除(可能對特殊緩沖區而言).

錯誤/異常

如果函數失敗了,將引發一個E_NOTICE異常.

更新日志

版本  說明

4.2.0  添加了布爾返回值.

下面的例子給出了一種去除所有輸出緩沖區的方法:

實例代碼如下:

  1. Example #1 ob_end_clean() example 
  2. ob_start(); 
  3. echo 'Text that won't get displayed.'; 
  4. ob_end_clean(); 
  5. ?> 

flush() - 刷新輸出緩沖    

通常是ob_flush();flush()同時一起使用

使用ob_start()把輸出那同輸出到緩沖區,而不是到瀏覽器.

然后用ob_get_contents得到緩沖區的數據.

ob_start()在服務器打開一個緩沖區來保存所有的輸出.所以在任何時候使用echo ,輸出都將被加入緩沖區中,直到程序運行結束或者使用ob_flush()來結束.然后在服務器中緩沖區的內容才會發送到瀏覽器,由瀏覽器來解析顯示.

函數ob_end_clean 會清除緩沖區的內容,并將緩沖區關閉,但不會輸出內容.

此時得用一個函數ob_get_contents()在ob_end_clean()前面來獲得緩沖區的內容.

這樣的話, 能將在執行ob_end_clean()前把內容保存到一個變量中,然后在ob_end_clean()后面對這個變量做操作.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥中县| 晋城| 山丹县| 平利县| 宁国市| 玉树县| 留坝县| 凉山| 裕民县| 麻城市| 普定县| 万安县| 天峻县| 凌源市| 乐都县| 东乌珠穆沁旗| 保亭| 屏南县| 密云县| 遂川县| 青冈县| 桐柏县| 七台河市| 杭锦旗| 额济纳旗| 武威市| 临潭县| 田东县| 台安县| 绥德县| 天柱县| 夏津县| 吉木乃县| 曲周县| 溆浦县| 贵溪市| 永宁县| 京山县| 呼图壁县| 南京市| 呼伦贝尔市|