WeberDev.com PHP and MySQL Code

LOG IN
BEGINNER GUIDES  |  PHP CLASSES  |  CODE SEARCH  |  ARTICLES SEARCH  |  PHP FORUMS  |  PHP MANUAL  |  PHP FUNCTIONS LIST  |  WEB SITE TEMPLATES
Start typing to search for PHP and MySQL Code Snippets and Articles Search
Submit a code Example / Snippet Submit Your Code
Search Engine Optimization Monitor SEO Monitor
Web Site UpTime Monitor UpTime Monitor
WeberDev's Monthly code contest PHP Code Contest
Your Personal Examples List My Favorite Examples
Your Personal Articles List My Favorite Articles
Edit Account Info Update Your Profile
PHP Code Search
Web Development Forums
Learn MySQL Playing Trivia
PHPBB2 Templates
Web Development Index
Web Development Resources
Web Development Content
PHPClasses
PHP Editor
PHP Jobs
Vision.To Design
Ajax Tutorials
PHP Programming Help
PHP/MySQL Programming
Webmaster Resources
Webmaster Forum
XML meta language
website builder
Mobile Dev World

Go Back Add a Comment Send this example to a friend Add this Article to your personal favoritest for easy future access to your favorite Code Examples and Articles. Submit a code example Print this code example.
BACK ADD A COMMENT SEND TO A FRIEND ADD TO MY FAVORITES ADD CODE EXAMPLES PRINT
Title : HTTP gzip compression
Categories : PHP, PHP Classes, Compression, Zlib Click here to Update Your Picture
leaping langoor
Date : Aug 27th 2004
Grade : 2 of 5 (graded 2 times)
Viewed : 6814
File : No file for this code example.
Images : No Images for this code example.
Search : More code by leaping langoor
Action : Grade This Code Example
Tools : My Examples List

  Submit your own code examples 
 

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
PHP Zip Utility
Categories : PHP, PHP Classes, Compression
Remote Archive (Zip, Tar, Gzip) downloader with FTP and local extration support
Categories : PHP, FTP, Filesystem, PHP Classes, Compression
Reduce PHP/HTML File Sizes
Categories : PHP, Compression, HTML and PHP, Zlib
Filter - A simple class that lets you use multiple functions to create custom filters.
Categories : PHP, PHP Classes, Strings
PHP5 SQLite Abstraction class
Categories : PHP, PHP Classes, SQLite, Databases
DbObject - A PHP wrapper for working with various databases
Categories : Databases, PHP, PHP Classes
The Ajax Tree view class fetches data from a db for the requested parent category id. The data is then stored in an array and converted into JSON (Javascript Object Notation) format. This format is then used by JavaScript for populating tree view.
Categories : PHP, PHP Classes, Java Script, AJAX, Databases
[PHP5] aDB PDO LIKE Database Abstraction. Switch easily from one db server to another, strong errors management, manage transactions, queries preparation and more.
Categories : PHP, PHP Classes, Databases, MS SQL Server, MySQL
gzclose -- Close an open gz-file pointer
Categories : PHP, PHP Functions, Zlib
Customizable Calendar Class
Categories : HTML and PHP, Date Time, PHP, PHP Classes, Calendar
Simple class that uses GD to draw pie charts. After the class definition there's some sample code to demonstrate how you use the class.
Categories : Graphics, PHP, PHP Classes, GD image library, Charts and Graphs
Browser Detecor Class
Categories : PHP Classes, PHP, HTML
Bs_IniHandler is a class that can read and write ini-style files (and strings)
Categories : PHP, Filesystem, PHP Classes
PostGreSQL and MySQL 2 in 1 db Manager
Categories : PHP, PHP Classes, Databases, PostgreSQL, MySQL