网管联盟
|
网管论坛
|
网管u家
|
网管博客
|
网管软件
|
网管求职
|
小游戏
|
网管搜索
|
网管原创
|
网管聚合
|
网管读摘
|
网管焦点
|
世界素材
|
会员投稿
|
会员中心
Windows
Linux
Cisco
网络技术
数据库
黑客攻防
DotNet
Java
PHP
认证
新闻资讯
服务器
存储资讯
网络设备
网管学堂
技术专题
焦点
网吧频道
当前位置: >
bitsCN.com
>
PHP
>
PHP技术进阶
> 使用php4加速web传输
使用php4加速web传输
2006-02-27 作者:bitsCN整理 来源:中国网管联盟
点评
投稿
收藏
<?
/***************************************
** 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
网管u家u.bitsCN.com
** 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
(
)
{
中国网管论坛bbs.bitsCN.com
$headers
=
getallheaders
(
)
;
while
(
list
(
$header
,
$value
)
=
each
(
$headers
)
)
{
$Message .
=
"$header: $value<br>\n"
;
中国网管联盟bitsCN.com
}
return
$Message
;
}
function
CheckCanGzip
(
)
{
global
$HTTP_ACCEPT_ENCODING
,
$PHP_SELF
,
$Wget
,
$REMOTE_ADDR
,
$S_UserName
;
if
(
connection_timeout
(
)
|
|
connection_aborted
(
)
)
{
网管下载dl.bitscn.com
return
0
;
}
if
(
(
strpos
(
'catoc'
.
$HTTP_ACCEPT_ENCODING
,
'gzip'
)
)
|
|
$Wget
=
=
'Y'
)
{
if
(
strpos
(
'catoc'
.
$HTTP_ACCEPT_ENCODING
,
'x-gzip'
)
)
{
中国网管联盟bitsCN.com
$ENCODING
=
"x-gzip"
;
$Error_Msg
=
str_replace
(
'<br>'
,
'
,
GetHeader
(
)
)
;
$Error_Msg .
=
"Time: "
.date
(
"Y-m-d H:i:s"
)
.
"\n"
;
网管联盟bitsCN_com
$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>";
网管下载dl.bitscn.com
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;
}
网管u家u.bitscn@com
}
?>
0
顶一下
TAGs
:
传输
加速
使用
"
<
the
Contents
print
Error_Msg
上一篇:
用Socket发送电子邮件
下一篇:
在网页上制作360度全景图
相关文章列表
Linux系统下让PHP提高性能的工具APC
一个完整、安全的PHP用户登录系统
Apache+PHP+MySQL建立数据库驱动的动态网站
用SSH与PHP相连接 确保数据传输的安全性
PHP5手动最简安装方法
用Suhosin加强PHP脚本语言安全性
传奇的诞生 PHP三位创始人简介
大型系统上PHP令人不爽的九大原因
使用php4加速web传输 评论:
评论加载中…
评论:
请自觉遵守互联网相关政策法规,评论不得超过250字。
验证码:
注册用户
本类热门排行:
1.
PHP的内码转换函数 mb_convert_encoding(
2.
在网页上制作360度全景图
3.
PHP新手上路(四)
4.
简体转繁体内码转换PHP函数
5.
session全教程(二)
6.
用php实现gb2312和unicode(UTF-8)间的编
7.
PHP-Web应用程序开发:使用模板
8.
谈汉字转换类型及解决方案
9.
一个全PHP编写的树型目录结构
10.
session全教程(一)
最新推荐文章:
1.
Linux系统下让PHP提高性能的工具APC
2.
传奇的诞生 PHP三位创始人简介
3.
用 PHP 读取文件的正确方法
4.
使用PHP 快速生成Flash 动画
5.
五个常见 PHP 数据库问题
6.
菜鸟学PHP之Smarty入门(组图)
7.
正则表达式简介
8.
关于 PHP 中的 Class 的几点个人看法
9.
PHP-Web应用程序开发:使用模板
10.
如何使用PHP中的字符串函数
网管论坛交流:
·
不疯魔不成活
·
令你大开眼界的真正标准化机房,已整理重
·
华为HCSE OSPF路由协议培训教材 V3.0
·
为赈灾,女孩舍身拍“裸照”
·
Windows Server 2003服务器群集创建和配
·
exchange2k3全套官方资料
·
双儿一周岁了。。。特殊的礼物来啦。。
·
存储备份技术版块守则
·
无盘技术交流区守则
·
DOS命令基础大全之命令详解<作者吐血