mirror of
https://github.com/php/php-src.git
synced 2024-11-26 11:23:47 +08:00
Added ob_flush_all() that flushes bufferred contents until it actually
sent/printed. @ Added ob_flush_all() that flushes all buffers. (Yasuo)
This commit is contained in:
parent
4fbf3f77c0
commit
66a50c5373
@ -6,6 +6,8 @@ $euc_jp = "
|
|||||||
mb_http_output('EUC-JP') or print("mb_http_output() failed\n");
|
mb_http_output('EUC-JP') or print("mb_http_output() failed\n");
|
||||||
ob_start('mb_output_handler');
|
ob_start('mb_output_handler');
|
||||||
echo $euc_jp;
|
echo $euc_jp;
|
||||||
ob_end_flush();
|
$output = ob_get_clean();
|
||||||
|
|
||||||
|
var_dump( $output );
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
@ -747,6 +747,7 @@ function_entry basic_functions[] = {
|
|||||||
/* functions from output.c */
|
/* functions from output.c */
|
||||||
PHP_FE(ob_start, NULL)
|
PHP_FE(ob_start, NULL)
|
||||||
PHP_FE(ob_flush, NULL)
|
PHP_FE(ob_flush, NULL)
|
||||||
|
PHP_FE(ob_flush_all, NULL)
|
||||||
PHP_FE(ob_clean, NULL)
|
PHP_FE(ob_clean, NULL)
|
||||||
PHP_FE(ob_end_flush, NULL)
|
PHP_FE(ob_end_flush, NULL)
|
||||||
PHP_FE(ob_end_clean, NULL)
|
PHP_FE(ob_end_clean, NULL)
|
||||||
|
@ -739,7 +739,7 @@ PHP_FUNCTION(ob_start)
|
|||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
/* {{{ proto bool ob_flush(void)
|
/* {{{ proto bool ob_flush(void)
|
||||||
Flush (send) contents of the output buffers */
|
Flush (send) contents of the output buffer. The last buffer content is sent to next buffer */
|
||||||
PHP_FUNCTION(ob_flush)
|
PHP_FUNCTION(ob_flush)
|
||||||
{
|
{
|
||||||
if (ZEND_NUM_ARGS() != 0)
|
if (ZEND_NUM_ARGS() != 0)
|
||||||
@ -755,6 +755,29 @@ PHP_FUNCTION(ob_flush)
|
|||||||
}
|
}
|
||||||
/* }}} */
|
/* }}} */
|
||||||
|
|
||||||
|
/* {{{ proto bool ob_flush_all(void)
|
||||||
|
Flush (send) contents of output buffers. All buffered contents will be written/sent */
|
||||||
|
PHP_FUNCTION(ob_flush_all)
|
||||||
|
{
|
||||||
|
int orig;
|
||||||
|
|
||||||
|
if (ZEND_NUM_ARGS() != 0)
|
||||||
|
WRONG_PARAM_COUNT;
|
||||||
|
|
||||||
|
if (!OG(ob_nesting_level)) {
|
||||||
|
php_error_docref("ref.outcontrol" TSRMLS_CC, E_NOTICE, "failed to flush buffer. No buffer to flush.");
|
||||||
|
RETURN_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
orig = OG(implicit_flush); /* save current implicit flush state */
|
||||||
|
php_start_implicit_flush(TSRMLS_C);
|
||||||
|
php_end_ob_buffer(1, 1 TSRMLS_CC);
|
||||||
|
OG(implicit_flush) = orig;
|
||||||
|
|
||||||
|
RETURN_TRUE;
|
||||||
|
}
|
||||||
|
/* }}} */
|
||||||
|
|
||||||
/* {{{ proto bool ob_clean(void)
|
/* {{{ proto bool ob_clean(void)
|
||||||
Clean (delete) the current output buffer */
|
Clean (delete) the current output buffer */
|
||||||
PHP_FUNCTION(ob_clean)
|
PHP_FUNCTION(ob_clean)
|
||||||
|
@ -47,6 +47,7 @@ PHPAPI int php_ob_get_length(zval *p TSRMLS_DC);
|
|||||||
|
|
||||||
PHP_FUNCTION(ob_start);
|
PHP_FUNCTION(ob_start);
|
||||||
PHP_FUNCTION(ob_flush);
|
PHP_FUNCTION(ob_flush);
|
||||||
|
PHP_FUNCTION(ob_flush_all);
|
||||||
PHP_FUNCTION(ob_clean);
|
PHP_FUNCTION(ob_clean);
|
||||||
PHP_FUNCTION(ob_end_flush);
|
PHP_FUNCTION(ob_end_flush);
|
||||||
PHP_FUNCTION(ob_end_clean);
|
PHP_FUNCTION(ob_end_clean);
|
||||||
|
Loading…
Reference in New Issue
Block a user