2013-08-05 160 views
0

後會發生什麼,我有一些代碼,執行以下操作:PHP:結束輸出緩衝

<?php 
ob_flush(); 
ob_start(); 
echo $something; 
ob_end_flush(); 

echo $another_thing; 
?> 

我可以看到$something但不$another_thing;

根據手冊ob_end_flush()函數只是關閉輸出緩衝,因此,如果是這樣的話,爲什麼我不能看到$another_thing;一樣的,好像我寫的,沒有任何輸出緩衝:

<?php 
echo $something; 
echo $another_thing; 
?> 

儘管我沒有看到爲什麼應該這樣工作,但我決定在echo $another_thing;之後嘗試撥打flush()ob_flush(),但這也沒有幫助。

這樣做的正確方法是什麼?爲什麼上面的工作不正常?

謝謝

+0

適合我http://phpfiddle.org/main/code/06s-kmj,也許$ another_thing是空的或不可打印的? – Orangepill

+0

謝謝 - 請參閱下面的答案,結果表明輸出緩衝與它無關。 – ec2011

回答

0

原來,問題在別處!

在上面設置$something;的過程中,我在一個大模板中調用了一系列函數,並在其中埋置了一個exit語句,所以問題與輸出緩衝沒有關係!