使用php4加速网络传输

标 题: 使用php4加速网络传输。?
/***************************************
** Title………: PHP4 HTTP Compression Speeds up the Web **
Version…….: 1.10 ** Author……..: catoc catoc@163.net **
Filename……: gzdoc.php ** Last changed..: 25/08/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. **
Useage……..: **No space before the beginning of the first ‘?’ tag .
**————Start of file———- **|? **|
include(‘gzdoc.php’); **| print Start output !!; **|? **|HTML
**|… the page … **|/HTML **|? **| gzdocout(); **|?
**————-End of file———–
***************************************/
ob_start(); ob_implicit_flush(0); function GetHeader(){ $headers =
getallheaders(); while (list($header, $value) = each($headers)) {
$Message .= $header: $valuebr ; } return $Message; } function
CheckCanGzip(){ global $HTTP_ACCEPT_ENCODING, $PHP_SELF, $Wget,
$REMOTE_ADDR,$S_UserName; if (connection_timeout() ||
connection_aborted()){ return 0; } if
((strpos(‘catoc’.$HTTP_ACCEPT_ENCODING, ‘gzip’)) || $Wget = = ‘Y’){ if
(strpos(‘catoc’.$HTTP_ACCEPT_ENCODING, ‘x-gzip’)){ $ENCODING = x-gzip;
$Error_Msg = str_replace(‘br’,”,GetHeader() ); $Error_Msg .= Time:
.date(Y-m-d H:i:s). ; $Error_Msg .= Remote-Address: .$REMOTE_ADDR. ;
//mail(‘your@none.net’, User have x-gzip outp ut in file $PHP_SELF!!!,
$Error_Msg); }else{ $ENCODING = gzip; } return $ENCODING; }else{ return
0; } } function GzDocOut(){ global $PHP_SELF, $CatocGz, $REMOTE_ADDR,
$S_UserName; $ENCODING = CheckCanGzip(); if ($ENCODING){ print !– Use
compress $ENCODING — ; $Contents = ob_get_contents();
ob_end_clean(); if ($CatocGz == ‘Y’){ print Not compress lenth:
.strlen($Contents) .BR; print Compressed lenth: .strlen(gzcompress($
Contents)).BR; exit; }else{ header(Content-Encoding: $ENCODING); } print
pack(‘cccccccc’,0x1f,0x8b,0x08,0x00,0x00,0x00,0x 00,0×00); $Size =
strlen($Contents); $Crc = crc32($Contents); $Contents =
gzcompress($Contents); $Contents = substr($Contents, 0,
strlen($Contents) – 4 ); print $Contents; print pack(‘V’,$Crc); print
pack(‘V’,$Size); exit; }else{ ob_end_flush(); $Error_Msg =
str_replace(‘br’,”,GetHeader()); $Error_Msg .= Time: .date(Y-m-d
H:i:s). ; $Error_Msg .= Remote-Address: .$REMOTE_ADDR. ;
//mail(‘your@none.net’, User can not use gzip outputin file
$PHP_SELF!!!, $Error_Msg); exit; } } ?

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图