gzip кодировка

Тема в разделе "PHP", создана пользователем dirdir, 29 авг 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dirdir

    dirdir Постоялец

    Регистр.:
    19 мар 2012
    Сообщения:
    92
    Симпатии:
    11
  2. vhome

    vhome Создатель

    Регистр.:
    6 авг 2012
    Сообщения:
    37
    Симпатии:
    35
    Ну вот так так оно отдает просто несжатый
    PHP:
    <?php
    echo file_get_contents('http://lib.rus.ec/b/391724/read');
    ?>
    но если все таки нужно именно гзиптнутое:
    PHP:
    <?php
    // The correct function for gzip and chunked data particularly when you get
    // "Content-Encoding: gzip" and "Transfer-Encoding: chunked" headers:
    function decode_gzip ($h$d$rn "\r\n")
    {
        if (isset(
    $h['Transfer-Encoding'])) {
            
    $lrn strlen($rn);
            
    $str '';
            
    $ofs 0;
            do {
                
    $p strpos($d$rn$ofs);
                
    $len hexdec(substr($d$ofs$p $ofs));
                
    $str .= substr($d$p $lrn$len);
                
    $ofs $p $lrn $len;
            } while (
    $d[$ofs] !== '0');
            
    $d $str;
        }
        if (isset(
    $h['Content-Encoding']))
            
    $d gzinflate(substr($d10));
        return 
    $d;
    }
    ?>
     
  3. dev99

    dev99 Постоялец

    Регистр.:
    2 июл 2007
    Сообщения:
    82
    Симпатии:
    57
    Сталкивался с такой ситуацией, когда Курлом дергались страницы, но открывались в бинарном виде...
    Для того, что бы они декодировались при открытии, надо было прописать опцию:
    PHP:
    curl_setopt($curl,CURLOPT_ENCODING,'gzip,deflate');
     
    HatoL нравится это.
Статус темы:
Закрыта.