PHPBuilder - Compressing and Caching Dynamic Output



RSS Twitter
Articles Tricks And Hacks

Compressing and Caching Dynamic Output

by: Luis Argerich
|
January 24, 2001

mod_gzip is an Apache module which compresses static html pages using Gzip, according to IETF standards for browsers that accept gzip enconding (IE, Netscape, etc). mod_gzip may accelerate the download time for pages 4/5 times and I strongly suggest you use mod_gzip in your webserver. However, due to a lack of a filtering mechanism between modules in Apache 1.x.x, there is no way to compress PHP generated output using mod_gzip. Therefore, we have to build our own compressing engine in PHP. In this article, I will explain how to use PHP output controlling functions to make your pages load FAST!

Introducing PHP output control functions

One of the best things in PHP4 is that you can tell PHP to buffer all of the output generated in the script, so no content is sent to the browser, until you decide to send it. You can use this function to use header and setcookie functions, wherever you want in your script. However, this is only a small advantage of the powerful output functions.

<?php

void ob_start
(void);

?>
This is used to tell the PHP processor to redirect all the output to an internal buffer. No output will be sent to the browser after a call to ob_start.

<?php

string ob_get_contents
(void);

?>
This returns the output buffer in a string that you can echo to send the accumulated output to the browser (after turning buffering off!).

<?php

int ob_get_length
(void);

?>
This returns the length of the output buffer.

<?php

void ob_end_clean
(void);

?>
Cleans the output buffer and also turns output buffering off. You have to use this function before outputing content to the browser.
void ob_implicit_flush ([int flag])
Is used to turn on/off implicit flushing (default=off). If this is on, then a "flush" is executed for every print/echo or output command and output is immediately sent to the browser.

1
|
2
|
3
|
4
|
5
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
Luis Argerich

Comment:



Comment:

(Maximum characters: 1200). You have characters left.