PHP ob_end_clean does not work -


ob_end_clean not clear buffer:

if (ob_get_level() == 0)       ob_start(null, 0, php_output_handler_cleanable ^ php_output_handler_removable);   echo '<div id="spinner">loading...</div>';    ob_flush();  flush();  ob_end_clean();  

do wrong?

you did not provide option ob_start allows flush buffer, i.e. php_output_handler_flushable missing.

but, default these options set according docs:

the flags parameter bitmask controls operations can performed on output buffer. default allow output buffers cleaned, flushed , removed, can set explicitly via php_output_handler_cleanable | php_output_handler_flushable | php_output_handler_removable, or php_output_handler_stdflags shorthand.

so leave out flags argument. btw, other arguments specified default value, can leave them out well:

if (ob_get_level() == 0)      ob_start(); // use defaults arguments.  echo '<div id="spinner">loading...</div>';   ob_end_flush(); // clean flush(); 

note cleaning buffer not wipe out have flushed. whatever flushed appears in browser , no longer under control of php. client code (javascript) further manipulate such output and/or redirect user page.


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -