phpbar.de logo

Mailinglisten-Archive

[php] GZIP-Problem

[php] GZIP-Problem

Christian Thiele php_(at)_phpcenter.de
Mon, 17 Dec 2001 19:32:42 +0100


Hi,

ich lasse meine ausgelieferten PHP-Seiten komprimieren um Traffic zu
sparen...aber
bei manchen Seiten, refresht der Internet Explorer, zeigt nur halbe Seiten
an und macht dann noch einen Refresh und irgendwann, nicht immer, zeigts
dann die komplette Seite an.

Mit Netscape funktionierts wunderbar.  Ich nutze einen MS IE 5.5.

Weiß jemand ob der IE mit Kompression seine Problemchen hat??? Manche Seiten
gehen ja auch beim IE, aber eben nicht alle...

Anbei der Code...

Ciao & Danke

Christian


***

function compresscontent($buffer) {

        $bufferlen  =strlen($buffer);

        $crc        =crc32($buffer);

        $compressed =gzcompress($buffer,9);

        return "\x1f\x8b\x08\x00\x00\x00\x00\x00".
               substr($compressed, 0, strlen($compressed)-4).
               pack("V", $crc).
               pack("V", $bufferlen);

    }


    function gz_start() {
        global $HTTP_SERVER_VARS,$gz_possible;

        $gz_possible=   isset($HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) &&

eregi("gzip",$HTTP_SERVER_VARS["HTTP_ACCEPT_ENCODING"]) &&
                        function_exists('crc32') &&
                        function_exists('gzcompress');

        if ($gz_possible)
            {
             ob_start("compresscontent");
            }
    }

    function gz_end() {
        global $gz_possible;

        if ($gz_possible) {
            Header("Content-Encoding: gzip");
            Header("X-Compressed-by: PHPgzip");
            ob_end_flush();
        }
    }


php::bar PHP Wiki   -   Listenarchive