Forum Webscript.Ru
Программирование => PHP => Тема начата: AlieN от 02 Марта 2004, 20:12:57
-
Итак, что мы имеем:
в начале скрипта
ob_start();
в конце скрипта:
$data=ob_get_contents();
ob_end_clean();
echo gzipoutput($data,1,1);
Сама функция сжатия(почти без исправлений взята с vBulletin):
function gzipoutput($text,$level=1,$test=false){
global $HTTP_ACCEPT_ENCODING,$nozip;
$returntext=$text;
if (function_exists("crc32") and function_exists("gzcompress") and !$nozip){
if (strpos(" ".$HTTP_ACCEPT_ENCODING,"x-gzip")) {
$encoding = "x-gzip";
}
if (strpos(" ".$HTTP_ACCEPT_ENCODING,"gzip")) {
$encoding = "gzip";
}
if ($encoding) {
header("Content-Encoding: $encoding");
header("Content-Type: text-html\\n\\n");
if($test)
{
$replace="Äî ñæàòèÿ-".strlen($text).";Ïîñëå ñæàòèÿ-".strlen(gzcompress($text,$level));
$text=str_replace("","$replace",$text);
}
$size = strlen($text);
$crc = crc32($text);
$returntext = "\\x1f\\x8b\\x08\\x00\\x00\\x00\\x00\\x00";
$returntext .= substr(gzcompress($text,$level),0,-4);
$returntext .= pack("V",$crc);
$returntext .= pack("V",$size);
@header("Content-Length: ".strlen($returntext));
}
}else{
echo "HUY";exit();
}
return $returntext;
}
Суть траблы:
Mozilla Firebird прекрасно всё понимает, текст зипуется и т.д. и т.п.
А вот IE5x, 6sp1 предлагает сохранить файл, что естественно нельзя, как с этим бороться? :)
-
может быть, посмотреть, чем отличаются заголовки, которые получает браузер от твоего скрипта, и от сервера, с которого показывает нормально?
-
а чо ob_gzhandler ?
-
а варианты с использованием mod_gzip / mod_deflate не подходят ?
-
RomikChef
Знать бы как :)
Собственно решил проблему, убрал
header("Content-Type: text-html\\n\\n");
Макс
Не подходят, надо учитывать "антинастраиваемость" некоторых сайтов ввиду их бесплатного хосторазмещения
-
AlieN:
Знать бы как
ты не знаешь, как посмотреть НТТР заголовки?
Есть море специальных программ.
часть перечислена в http://faq.phpclub.net/na_tanke
часть можно в любом поисковике найти по запросу HTTP ssniffer
-
RomikChef
Ради интереса, расскажи мне какие заголовки дает эта страница
(http://forums.webscript.ru/showthread.php?s=&threadid=16048)
-
AlieN:
Ради интереса, расскажи мне какие заголовки дает эта страница
http://www.superweb.nl/yukko/headers.txt
Устраивает?
-
Yukko
Content-Type: text/css; charset=windows-1251
Красота прямо :)
[off]Там кстати данные всех твои кук, так и пароль потерять можно[/off]