Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с GZIP
 
 автор: HaJIuBauKa   (16.01.2009 в 10:37)   письмо автору
 
 

Задача:
Есть два скрипта - один читает из базы данные по запросу, который ему посылает второй скрипт. И передает эти данные в сжатом виде, через функцию gzcompress.
То есть в первом скрипте:

<?php
  
/* Здесь читаем данные из БД, помещаем их в массив $out */
  
header("Content-Encoding: gzip");
  echo 
gzcompress(serialize($out), 9);
?>


Во втором скрипте:
<?php
    
/* Пытаемся сэмулировать браузер */
    
$fp fsockopen("domain.loc"80$errno$errstr5);
    if (!
$fp) {
        echo 
"$errstr ($errno)<br />\n";
    } else {
        
$data 'sql='.urlencode($sql).'&assocfieldid='.$assocfieldid;
        
$out "GET /modules/getibasedata.php?$data HTTP/1.1\r\n";
        
$out .= "Host: domain.loc\r\n";
        
$out .= "Connection: Close\r\n\r\n";

        
fwrite($fp$out);

        
$ser "";
        
$buf "";
        while (!
feof($fp)) {
            
$buf fgets($fp1024);
            
$ser .= $buf;
        }
        
fclose($fp);
    }

    
$ser strstr($ser"\r\n\r\n");
    
$ser gzuncompress($ser); // ТУТ вылазит Warning: gzuncompress() [function.gzuncompress]: data error
?>


Данные в $ser есть и они не идентичны тем, что в первом скрипте. То есть они передаются. Но распаковать их не получается.
Как правильно в таком случае получить двоичные данные?

  Ответить  
 
 автор: Trianon   (16.01.2009 в 10:50)   письмо автору
 
   для: HaJIuBauKa   (16.01.2009 в 10:37)
 

Видимо, нужно сравнить сжатые данные?

  Ответить  
 
 автор: HaJIuBauKa   (16.01.2009 в 11:51)   письмо автору
 
   для: Trianon   (16.01.2009 в 10:50)
 

Разобрался: было два лишних перевода строки в начале полученных данных.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования