快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

使用 php4 加速 web 传输

<?
/***************************************
** 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: $value<br>n";
}
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")."n";
$Error_Msg .= "Remote-Address: ".$REMOTE_ADDR."n";
//mail(\\'your@none.net\\', "User have x-gzip output 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 "n<!-- Use compress $ENCODING -->n";
$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,0x00,0x00);
$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")."n";
$Error_Msg .= "Remote-Address: ".$REMOTE_ADDR."n";
//mail(\\'your@none.net\\', "User can not use gzip output in file $PHP_SELF!!!", $Error_Msg);
exit;
}
}
?>
返回类别: 教程
上一教程: 使用sockets:从新闻组中获取文章(三)
下一教程: 提升PHP执行速度全攻略

您可以阅读与"使用 php4 加速 web 传输"相关的教程:
· 使用 php4 加速 web 传输   
· 使用mod_gzip加速你的html页面
· 如何使用php开发高效的WEB系统
· Windows 2000+Apache+MySql+PHP3+PHP4+PERL安装使用小结(转)
· 使用PHP4中的 IntegratedTemplate类实现BLOCK功能
    微笑服务 优质保证 索取样品