• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    使用php 4加速web傳輸

    發布: 2007-7-14 19:53 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 11次 | 進入軟件測試論壇討論

    領測軟件測試網 <?
    /***************************************
    ** 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;
        }
    }
    ?> 

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>