Показать сообщение отдельно

  #8562  
Старый 07.02.2009, 20:36
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

Цитата:
из сокета получаю сжатую в gzip страницу, в пхп какая функция используеться для распаковки gzip ?
Если в $page ответ сервера, то так
PHP код:
$page gzBody(substr($page,strpos($page,"\r\n\r\n")+4))


 function 
gzBody($gzData){
    if(
substr($gzData,0,3)=="\x1f\x8b\x08"){
        
$i=10;
        
$flg=ord(substr($gzData,3,1));
        if(
$flg>0){
            if(
$flg&4){
                list(
$xlen)=unpack('v',substr($gzData,$i,2));
                
$i=$i+2+$xlen;
            }
            if(
$flg&8$i=strpos($gzData,"\0",$i)+1;
            if(
$flg&16$i=strpos($gzData,"\0",$i)+1;
            if(
$flg&2$i=$i+2;
        }
        return 
gzinflate(substr($gzData,$i,-8));
    }
    else return 
false;
  } 
 
Ответить с цитированием