Home Links

Compression of pages on PHP

The basic purpose  of a script - compression of the pages transmitted by the server to a browser. At me it was on the average compressed in 4 times.


One "BUT": do not put a level of compression more than 3 - the size will not decrease, and loading on the server - still as.


The script is used as follows:

<?


include (' gzdoc.php ');


?>


<HTML>


... the page...


</HTML>


<?


gzdocout ();


?>



gzdoc.php




** |


** |... the page...


** |


** |


**-------------End of file-----------


*/


ob_start ();


ob_implicit_flush (0);


function CheckCanGzip () {


global $HTTP_ACCEPT_ENCODING;


if (headers_sent () || connection_aborted ()) {


return 0;


}


if (strpos ($HTTP_ACCEPT_ENCODING, ' x-gzip ')! == false) return "x-gzip";


if (strpos ($HTTP_ACCEPT_ENCODING, ' gzip ')! == false) return "gzip";


return 0;


}


/* $level = compression level 0-9, 0=none, 9=max */


function GzDocOut ($level=3, $debug=0) {


$ENCODING = CheckCanGzip ();


if ($ENCODING) {


print "\n\n";


$Contents = ob_get_contents ();


ob_end_clean ();


if ($debug) {


$s = " Not compress


length: " .strlen ($Contents.) ";";


$s. = " Compressed length: ".


strlen (gzcompress ($Contents, $level)).


" ";


$Contents. = $s;


}


header (" Content-Encoding: $ENCODING ");


print "\x1f\x8b\x08\x00\x00\x00\x00\x00";


$Size = strlen ($Contents);


$Crc = crc32 ($Contents);


$Contents = gzcompress ($Contents, $level);


$Contents = substr ($Contents, 0, strlen ($Contents) - 4);


print $Contents;


print pack (' V ', $Crc);


print pack (' V ', $Size);


exit;


} else {


ob_end_flush ();


exit;


}


}


?>




Home Page
Compression of pages on PHP
Functions of a paginal conclusion in PHP
PHP a script for automatic definition of the coding of the text:
XML Sapiens - magic of revival of sites
XML: opportunities and prospects
The data, their performance and forms of the user interface in XML
It is a little about OPML
Protection of mail
Importation of the information from an another's site on the site in the design
The forum working with database MySQL
The main page of a forum
Paginal conclusion from tables MSSQL with help PHP
Small cunnings
We print rationally or one more way of protection of the information
Site from within
The link - business not artful
Ideology HTML
Effect bukvicy
Ways of storage of the dynamic data