使用php4加速网络传输
网络 使用 加速 传输 php4
2023-06-13 09:13:44 时间
标题:使用php4加速网络传输。
<?
/***************************************
**Title.........:PHP4HTTPCompressionSpeedsuptheWeb
**Version.......:1.10
**Author........:catoc<catoc@163.net>
**Filename......:gzdoc.php
**Lastchanged..:25/08/2000
**Requirments...:PHP4>=4.0.1
** PHPwasconfiguredwith--with-zlib[=DIR]
**Notes.........:DynamicContentAccelerationcompresses
** thedatatransmissiondataonthefly
** codebysunjinhu(catoc)<catoc@163.net>
** Mostnewerbrowserssince1998/1999have
** beenequippedtosupporttheHTTP1.1
** standardknownas"content-encoding."
** Essentiallythebrowserindicatestothe
** serverthatitcanaccept"contentencoding"
** andiftheserveriscapableitwillthen
** compressthedataandtransmitit.The
** browserdecompressesitandthenrenders
** thepage.
**Useage........:
** Nospacebeforethebeginningofthefirst"<?"tag
.
** ------------Startoffile----------
** |<?
** |include("gzdoc.php");
** |print"Startoutput!!";
** |?>
** |<HTML>
** |...thepage...
** |</HTML>
** |<?
** |gzdocout();
** |?>
** -------------Endoffile-----------
***************************************/
ob_start();
ob_implicit_flush(0);
functionGetHeader(){
$headers=getallheaders();
while(list($header,$value)=each($headers)){
$Message.="$header:$value<br>";
}
return$Message;
}
functionCheckCanGzip(){
global$HTTP_ACCEPT_ENCODING,$PHP_SELF,$Wget,$REMOTE_ADDR,
$S_UserName;
if(connection_timeout()||connection_aborted()){
return0;
}
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-dH:i:s")."
";
$Error_Msg.="Remote-Address:".$REMOTE_ADDR.
"";
//mail("your@none.net","Userhavex-gzipoutp
utinfile$PHP_SELF!!!",$Error_Msg);
}else{
$ENCODING="gzip";
}
return$ENCODING;
}else{
return0;
}
}
functionGzDocOut(){
global$PHP_SELF,$CatocGz,$REMOTE_ADDR,$S_UserName;
$ENCODING=CheckCanGzip();
if($ENCODING){
print"<!--Usecompress$ENCODING-->";
$Contents=ob_get_contents();
ob_end_clean();
if($CatocGz=="Y"){
print"Notcompresslenth:".strlen($Contents)
."<BR>";
print"Compressedlenth:".strlen(gzcompress($
Contents))."<BR>";
exit;
}else{
header("Content-Encoding:$ENCODING");
}
printpack("cccccccc",0x1f,0x8b,0x08,0x00,0x00,0x00,0x
00,0x00);
$Size=strlen($Contents);
$Crc=crc32($Contents);
$Contents=gzcompress($Contents);
$Contents=substr($Contents,0,strlen($Contents)-4
);
print$Contents;
printpack("V",$Crc);
printpack("V",$Size);
exit;
}else{
ob_end_flush();
$Error_Msg=str_replace("<br>","",GetHeader());
$Error_Msg.="Time:".date("Y-m-dH:i:s")."";
$Error_Msg.="Remote-Address:".$REMOTE_ADDR."";
//mail("your@none.net","Usercannotusegzipoutput
infile$PHP_SELF!!!",$Error_Msg);
exit;
}
}
?>
<?
/***************************************
**Title.........:PHP4HTTPCompressionSpeedsuptheWeb
**Version.......:1.10
**Author........:catoc<catoc@163.net>
**Filename......:gzdoc.php
**Lastchanged..:25/08/2000
**Requirments...:PHP4>=4.0.1
** PHPwasconfiguredwith--with-zlib[=DIR]
**Notes.........:DynamicContentAccelerationcompresses
** thedatatransmissiondataonthefly
** codebysunjinhu(catoc)<catoc@163.net>
** Mostnewerbrowserssince1998/1999have
** beenequippedtosupporttheHTTP1.1
** standardknownas"content-encoding."
** Essentiallythebrowserindicatestothe
** serverthatitcanaccept"contentencoding"
** andiftheserveriscapableitwillthen
** compressthedataandtransmitit.The
** browserdecompressesitandthenrenders
** thepage.
**Useage........:
** Nospacebeforethebeginningofthefirst"<?"tag
.
** ------------Startoffile----------
** |<?
** |include("gzdoc.php");
** |print"Startoutput!!";
** |?>
** |<HTML>
** |...thepage...
** |</HTML>
** |<?
** |gzdocout();
** |?>
** -------------Endoffile-----------
***************************************/
ob_start();
ob_implicit_flush(0);
functionGetHeader(){
$headers=getallheaders();
while(list($header,$value)=each($headers)){
$Message.="$header:$value<br>";
}
return$Message;
}
functionCheckCanGzip(){
global$HTTP_ACCEPT_ENCODING,$PHP_SELF,$Wget,$REMOTE_ADDR,
$S_UserName;
if(connection_timeout()||connection_aborted()){
return0;
}
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-dH:i:s")."
";
$Error_Msg.="Remote-Address:".$REMOTE_ADDR.
"";
//mail("your@none.net","Userhavex-gzipoutp
utinfile$PHP_SELF!!!",$Error_Msg);
}else{
$ENCODING="gzip";
}
return$ENCODING;
}else{
return0;
}
}
functionGzDocOut(){
global$PHP_SELF,$CatocGz,$REMOTE_ADDR,$S_UserName;
$ENCODING=CheckCanGzip();
if($ENCODING){
print"<!--Usecompress$ENCODING-->";
$Contents=ob_get_contents();
ob_end_clean();
if($CatocGz=="Y"){
print"Notcompresslenth:".strlen($Contents)
."<BR>";
print"Compressedlenth:".strlen(gzcompress($
Contents))."<BR>";
exit;
}else{
header("Content-Encoding:$ENCODING");
}
printpack("cccccccc",0x1f,0x8b,0x08,0x00,0x00,0x00,0x
00,0x00);
$Size=strlen($Contents);
$Crc=crc32($Contents);
$Contents=gzcompress($Contents);
$Contents=substr($Contents,0,strlen($Contents)-4
);
print$Contents;
printpack("V",$Crc);
printpack("V",$Size);
exit;
}else{
ob_end_flush();
$Error_Msg=str_replace("<br>","",GetHeader());
$Error_Msg.="Time:".date("Y-m-dH:i:s")."";
$Error_Msg.="Remote-Address:".$REMOTE_ADDR."";
//mail("your@none.net","Usercannotusegzipoutput
infile$PHP_SELF!!!",$Error_Msg);
exit;
}
}
?>
相关文章
- 使用 http-proxy 对网络请求进行代理
- 使用tcpdump抓包分析网络请求_抓包报文分析
- 这10个网络排障工具建议每位网络工程师都能熟练使用!
- 网络编程学习笔记6-TCP正确使用
- Docker网络上篇-网络介绍
- 应用torchinfo计算网络的参数量
- 使用Python和SAS Viya分析社交网络|附代码数据
- Underlay 网络之叶脊(Spine- Leaf)网络
- R语言中贝叶斯网络(BN)、动态贝叶斯网络、线性模型分析错颌畸形数据|附代码数据
- 字节跳动资料第二弹!《图解网络》完整版 PDF 开放下载!
- Java 使用JCIFS访问网络文件共享的工具类详解编程语言
- Linux 下快速配置网络的实用攻略(linux的网络设置)
- Linux 运用 SS:一次性解决网络加密安全(linux使用ss)
- Linux下网络文件夹的使用方法(linux网络文件夹)
- 深入Linux系统:使用UDP抓取网络数据包(linuxudp抓包)
- 电信网络诈骗团伙利用“话术”诱骗被害人买茶叶 涉案金额达2.2亿元
- 在你的网络中使用树莓派和 Pi-hole 拦截广告
- 使用 RadioDroid 流传输网络广播
- 打造高效稳定的网络环境——Linux DHCP集群方案(linuxdhcp集群)
- 处理Linux网络中TCP丢包的方法(linuxtcp丢包)
- Linux下使用Wifi网络的指南(wifilinux)
- 光猫与Linux的完美兼容,带给你更加稳定和高效的网络使用体验。(光猫linux)
- 使用Linux系统路由器提升网络稳定和安全性(linux系统路由器)
- 腾讯云搭建强大数据服务Redis助力网络加速(腾讯云使用redis)