Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
PHP: ob_flush - Manual
[go: Go Back, main page]

PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ob_get_clean" width="11" height="7"/> <ob_end_flush
Last updated: Sun, 23 Sep 2007

view this page in

ob_flush

(PHP 4 >= 4.2.0, PHP 5)

ob_flush — 出力バッファをフラッシュ(送信)する

説明

void ob_flush ( void )

この関数は、(ある場合に)出力バッファの内容を送信します。 更にバッファの内容を処理したい場合には、ob_flush() がコールされた後にバッファの内容が破棄されるので、 ob_flush() の前に ob_get_contents() をコールする必要があります。

この関数は、ob_end_flush() のように出力バッファを破棄しません。

返り値

値を返しません。

参考

ob_get_contents()
ob_clean()
ob_end_flush()
ob_end_clean()



ob_get_clean" width="11" height="7"/> <ob_end_flush
Last updated: Sun, 23 Sep 2007
 
add a note add a note User Contributed Notes
ob_flush
solidli at gmail dot com
24-May-2007 01:28
Use an '@' sign as "@ob_flush();" to avoid the following message:

Notice: ob_flush(): failed to flush buffer. No buffer to flush. in /etc/www/test.php on line 88
22-Sep-2005 10:37
I was having problems with output buffering which seemed to be active by default on the server, although phpinfo said something else..

In any case I needed to know that when I ran ob_start, it would start at the top level, so I could use ob_flush as it's intended without having to call multiple ob_flush in-script - this is what I did:

<?php

// make sure output buffering is off before we start it
// this will ensure same effect whether or not ob is enabled already
while (ob_get_level()) {
   
ob_end_flush();
}
// start output buffering
if (ob_get_length() === false) {
   
ob_start();
}

?>

Then I could call ob_flush(); followed by flush(); and get the output I wanted, which I didn't if I started the script with just ob_start();

This was on a windows apache 2 server with php 5.0.4 btw.
24-Jun-2005 10:27
You must call them in the correct order.
ob_flush();
flush();
Reynard Hilman
23-Jun-2005 06:29
when using command line php, if somewhere in your script you have ob_start(), you have to call ob_end_flush() first, and then you can call these functions:
flush();
ob_flush();

without calling ob_end_flush first, flush and ob_flush does not have any effect, at least that's what I experienced.
jeremy at e2-media dot co dot nz
26-May-2005 08:09
we had problems with flushing data to the browser. a simple call to ob_flush() or flush() would not work. We found that repeatly calling theses fuctions did work however.

<?
flush
();
ob_flush();
flush();
ob_flush();
flush();
ob_flush();
?>

go figure!
15-Jan-2003 01:23
As far as I can tell the only way to mimic ob_flush()'s behaviour on PHP < 4.2.0 is calling ob_end_flush() followed by ob_start().

ob_get_clean" width="11" height="7"/> <ob_end_flush
Last updated: Sun, 23 Sep 2007
 
 
show source | credits | sitemap | contact | advertising | mirror sites