Doc #64460 [Nab]: ob_start implicit flush content

From: Date: Tue, 06 Aug 2013 10:34:37 +0000
Subject: Doc #64460 [Nab]: ob_start implicit flush content
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-10145@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64460&edit=1 ID: 64460 Updated by: yohgaki@php.net Reported by: valentiny510 at yahoo dot es Summary: ob_start implicit flush content Status: Not a bug Type: Documentation Problem Package: Output Control PHP Version: Irrelevant Assigned To: mike Block user comment: N Private report: N New Comment: "Or add buffered contents after ob_end_flush()?" should be "Or add unbuffered contents after ob_end_flush()?" Previous Comments: ------------------------------------------------------------------------ [2013-08-06 10:33:07] yohgaki@php.net Unless you discard outputs, all buffered data is sent when execution is finished. The documentation is a bit misleading. At least a user is confused by documentation. http://www.php.net/manual/en/function.ob-start.php > This function will turn output buffering on. While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer. Adding "All buffered contents are sent when script execution is finished."? Example #1 <?php function callback($buffer) { // replace all the apples with oranges return (str_replace("apples", "oranges", $buffer)); } ob_start("callback"); ?> <html> <body> <p>It's like comparing apples to oranges.</p> </body> </html> <?php ob_end_flush(); ?> I think ob_end_flush() is not needed here. Or add buffered contents after ob_end_flush()? ------------------------------------------------------------------------ [2013-08-06 07:03:14] valentiny510 at yahoo dot es wait.. mike.. what .. ?? ------------------------------------------------------------------------ [2013-07-30 19:16:53] mike@php.net Thank you for taking the time to write to us, but this is not a bug. Please double-check the documentation available at http://www.php.net/manual/ and the instructions on how to report a bug at http://bugs.php.net/how-to-report.php Quote: "While output buffering is active..." Output buffering will be disabled at request shutdown of course. ------------------------------------------------------------------------ [2013-03-20 01:09:19] valentiny510 at yahoo dot es P.S. I found something related Request #23877 "ob_implicit_flush does not work". Damn, a 10 years bug/request again... Rasmus I think is time to upgrade the team not the documentation :D. Just joking.. But seriously guys, you cannot allow to happend thinks like this, I perfectly understand is a lot of work sometimes but 10 years... is something.. too much I remember times when some of my clients calls me at midnight to fix their sites... what a happy days.. ------------------------------------------------------------------------ [2013-03-20 00:48:54] valentiny510 at yahoo dot es Description: ------------ I write this like a Request but I think is more a bug. According to documentation of ob_start: "While output buffering is active no output is sent from the script (other than headers), instead the output is stored in an internal buffer." but is not true. implicit_flush = Off or ob_implicit_flush( false ) are also useless. Or change the documentation or change the function behaviour to act according to the documentation. When somebody active the buffering it expect to see the blank page until explicit call some flush functions right ? At least this said the docs. Test script: --------------- <?php ob_start( ); echo 'Blah'; Expected result: ---------------- empty page Actual result: -------------- Blah <<< This should never shown ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=64460&edit=1

« previous php.doc.bugs (#10145) next »