до и после gzencode размер буффера одинаковый

sector119

Guest
до и после gzencode размер буффера одинаковый

hi

Есть вопрос по gzencode! До и после gzencode размер буффера одинаковый! или я не правильно исспользую gzencode? или я не правильно измеряю размер буффера? не пойму что не так!

PHP:
<?
$use_zip = 1;

ob_start("cgta_buffer");

readfile("important.html");

echo "<!-- buffer length: ".ob_get_length()." -->\n";

ob_end_flush();

function cgta_buffer($buffer)
{
  global $use_zip;

  if ($use_zip && extension_loaded("zlib"))
  {
  Header("Content-Encoding: gzip");
    return (gzencode($buffer));
  }
  else
    return ($buffer);
}

?
buffer length - всегда выдает равным 2040 хоть $use_zip = 0, хоть 1! размер не меняется! хотя убирая Header("Content-Encoding: gzip"); видно что он зипует, судя по крокозябрам :)

в чем может быть проблема?

Спасибо!
 

tony2001

TeaM PHPClub
а почему размер буфера должен меняться ?
содержимое буфера гзипуется непосредственно перед выводом и хранится в буфере в изначальном виде.
 

Eugene Bond

sudo rm - rf /
Тьфу!

Ты ж размер буфера считаешь раньше, чем сжимаешь! :)
Семен Семенович!
 

sector119

Guest
Автор оригинала: tony2001
а почему размер буфера должен меняться ?
содержимое буфера гзипуется непосредственно перед выводом и хранится в буфере в изначальном виде.
а как посчитать размер странички до сжатия и после него?
 

tony2001

TeaM PHPClub
PHP:
...
Header("Content-Encoding: gzip");
$gzipped_buffer = gzencode($buffer);
$gzipped_buffer_length = strlen($gzipped_buffer);
//тут выводим Content-length
//а потом сам контент
    return $gzipped_buffer;
....
 
Сверху