---
layout: page
title: "JavaScript ob_get_flush function"
comments: true
sharing: true
footer: true
alias:
- /functions/view/ob_get_flush:896
- /functions/view/ob_get_flush
- /functions/view/896
- /functions/ob_get_flush:896
- /functions/896
---
<!-- Generated by Rakefile:build -->
A JavaScript equivalent of PHP's ob_get_flush

{% codeblock outcontrol/ob_get_flush.js lang:js https://raw.github.com/kvz/phpjs/master/functions/outcontrol/ob_get_flush.js raw on github %}
function ob_get_flush () {
  // http://kevin.vanzonneveld.net
  // +   original by: Brett Zamir (http://brett-zamir.me)
  // *     example 1: ob_get_flush();
  // *     returns 1: 'some buffer contents'

  var PHP_OUTPUT_HANDLER_START = 1,
    PHP_OUTPUT_HANDLER_END = 4;
  this.php_js = this.php_js || {};
  var phpjs = this.php_js,
    obs = phpjs.obs;
  if (!obs || !obs.length) {
    return false;
  }
  var flags = 0,
    ob = obs[obs.length - 1],
    buffer = ob.buffer;
  if (ob.callback) {
    if (!ob.status) {
      flags |= PHP_OUTPUT_HANDLER_START;
    }
    flags |= PHP_OUTPUT_HANDLER_END;
    ob.status = 2;
    buffer = ob.callback(buffer, flags);
  }
  obs.pop();
  if (obs.length) {
    ob = obs[obs.length - 1];
    ob.buffer += buffer;
  } else {
    this.echo(buffer);
  }
  return buffer;
}
{% endcodeblock %}

 - [view on github](https://github.com/kvz/phpjs/blob/master/functions/outcontrol/ob_get_flush.js)
 - [edit on github](https://github.com/kvz/phpjs/edit/master/functions/outcontrol/ob_get_flush.js)

### Example 1
This code
{% codeblock lang:js example %}
ob_get_flush();
{% endcodeblock %}

Should return
{% codeblock lang:js returns %}
'some buffer contents'
{% endcodeblock %}


### Other PHP functions in the outcontrol extension
{% render_partial _includes/custom/outcontrol.html %}
