Compressing is one of those optimizations for a website which can be
easily done and still has tremendous effect. Gzip compressing your
files results in less bandwidth being used and a lot less data that
needs to travel all the way to the impatient client.
gzip compressing your PHP files is a piece of cake with Output
Buffering (OB). OB buffers everything you output in your scripts, and
releases it when you want it to. This neat little trick can come in
handy when you want to send headers from within your HTML, since the
headers are ordered to be released before the HTML when OB is used.
OB can gzip compress the HTML buffered, so you can put this above everything in your PHP file:
if (substr_count($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip"))
ob_start("ob_gzhandler");
else
ob_start();
It checks whether gzip is supported, and then starts output buffering
with gzip compression. To release all compressed output you can put
this at the bottom of the PHP file:
ob_end_flush();
This flushes all output to the browser.