欢迎光临
我们一直在努力

使用 php 4 加速 web 传输-PHP教程,PHP应用

建站超值云服务器,限时71元/月

<?
/***************************************
** 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;
    }
}
?> 

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 使用 php 4 加速 web 传输-PHP教程,PHP应用
分享到: 更多 (0)