|
|
|
|
|
|
| |
OK. SO this is a simple program... more or les a set of few functions in the form of a class. This is meant gzip compression of the Output so that things are made smaller and faster. This is followed by an example at the bottom. Hope this helps you. One more point, this class is meant usually for large sites!, It wont make much diffrence for smaller ones.
IMPORTANT: READ THE COMMENTS CAREFULLY.
PHP4 HTTP Compression
Class Gzip
Author.......: leapinglangoor [ leapinglangoor@yahoo.co.in ]
Version......: 1.20
Filename.....: gzdoc.php
Updated......: 18/10/2000
Requirments..: PHP4 >= 4.0.1
PHP was configured with --with-zlib[=DIR]
Notes........: Dynamic Content Acceleration compresses
the data transmission data on the fly
code by sun jin hu (catoc) <catoc@163.net>
Most newer browsers since 1998/1999 have
been equipped to support the HTTP 1.1
standard known as "content-encoding."
Essentially the browser indicates to the
server that it can accept "content encoding"
and if the server is capable it will then
compress the data and transmit it. The
browser decompresses it and then renders
the page. This version does not require
GLOBALS to be ON. In case you encounter any
errors, please notify me.
func Gzip
Constructor
Initialise the Gzip output.
compress.php:
| <?php
class Gzip
{
function Gzip()
{
ob_start();
ob_implicit_flush( 0 );
}
/*
** func CheckCanGzip
**
** Used inside the class( in GzDocOut )
** Checks if Gzip is possible
*/
function CheckCanGzip()
{
if( headers_sent() || connection_timeout() || connection_aborted() )
{
return 0;
}
if( strpos( $HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'x-gzip' ) !== false ) return "x-gzip";
if( strpos( $HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip' ) !== false ) return "gzip";
return 0;
}
/*
** func GzDocOut
**
** Main function. Outputs the Gzip compilant contents.
**
** @Param $level = compression level 0-9, 0=none, 9=max
*/
function GzDocOut( $level = 3, $debug = 0)
{
$ENCODING = CheckCanGzip();
if ( $ENCODING )
{
print "\n<!-- Use compress $ENCODING -->\n";
$Contents = ob_get_contents();
ob_end_clean();
if ( $debug )
{
$s = "<p>Not compress length: ".strlen( $Contents );
$s .= "<br>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;
} // IF( $ENCODING );
} //function GzDocOut
} // Class Gzip
?> | |
As always, here is my example... Read carefully the comments.
Example.php
| <?php
// Initialise the class and constructor.
include('compress.php');
$gz = new Gzip();
/*
The page
Anything you want to put in here.
Including HTML stuff
*/
// Set the level of compression.
// 0 - No compression;
// 9 - Max compresson;
$level = 3;
// Set debug mode
// 1 - True; 0 - False
$debug = 0;
$gz->gzdocout( $level, $debug );
?> | | |
|
| 3 lines of Code to extract Tar, Zip, Gzip etc.. Categories : PHP, Filesystem, PHP Classes, Compression | | | Remote Archive (Zip, Tar, Gzip) downloader with FTP and local extration support Categories : PHP, FTP, Filesystem, PHP Classes, Compression | | | PHP Zip Utility Categories : PHP, PHP Classes, Compression | | | file class , uploade file , download file already uploaded on another website Categories : PHP, PHP Classes, Filesystem, Web Services | | | Authorize.net AIM Interface Class v1.0.0 Categories : PHP, PHP Classes, Ecommerce, Payment Gateways | | | crop and resize image class using gd library function Categories : PHP, PHP Classes, GD image library, Graphics | | | Expose - PHP template engine, supports server and client-sided caching,a plugin system, multiple languages, template script language is based on PHP itself. Categories : PHP, PHP Classes, Templates, Complete Programs | | | News management class Categories : PHP, PHP Classes, Beginner Guides | | | A Timing Class Categories : PHP, PHP Classes, Date Time | | | The class to check load time of your script
VERY usefull for relatively slow applications, but not only.. Categories : PHP, PHP Classes, Debugging | | | Password Creator: This PHP code exmaple shows how to use bitwise operations on a single variable and using it as a flagged variable. The class generates passwords of a given length using specified characters and the flags. Categories : PHP, PHP Classes, Algorithms, Security | | | RSS parser.
Parses RSS into an array. Quick and nasty but does the job.
No checking is done for correct Tags, only correct XML.
PHP4 needed to display result (uses print_r). Categories : PHP, XML, PHP Classes, Rich Site Summary (RSS) | | | MS Word Mail Merge Automation (COM) Categories : PHP, PHP Classes, COM | | | pcCalendar class - Allows for the creation of calendars in HTML pages. All output functions can be easily overridden, refer to article 1471 for an example.
Categories : PHP, Date Time, Calendar, PHP Classes | | | Class for sending mail with MIME attachments in multipart format using external sendmail, mimencode and zip Categories : Email, Network, PHP, PHP Classes | |
|
|
|