title: PHP buffer ob_flush() vs. flush()
body: <p>What's the difference between <code>ob_flush()</code> and <code>flush()</code> and why must I call both?</p>
  
  <p>The <a href="http://www.php.net/manual/en/function.ob-flush.php" rel="noreferrer"><code>ob_flush()</code> reference</a> says:</p>
  
  <blockquote>
    <p>This function will send the contents of the output buffer (if any).</p>
  </blockquote>
  
  <p>The <a href="http://php.net/manual/en/function.flush.php" rel="noreferrer"><code>flush()</code> reference</a> says: </p>
  
  <blockquote>
    <p>Flushes the write buffers of PHP and whatever backend PHP is using (CGI, a web server, etc).</p>
  </blockquote>
  
  <p>However, it continues to say:</p>
  
  <blockquote>
    <p>[it] may not be able to override the buffering scheme of your web server…</p>
  </blockquote>
  
  <p>So, seems to me that I could just use <code>ob_flush()</code> all of the time. However, I get strange results when I do that.  Could someone explain in simple terms what's going on here?</p>