Kopiuj
include('config1.php');
ini_set('zlib.output_compression', true);
ini_set('zlib.output_compression_level', 1);
if ($gzip == 2) ob_start('ob_gzhandler');
else ob_start();
Niestety juz sprawdzaken jest baira strona ale nie rozumie tego ob_end_flush/clean() moze jak to dodam bedzie dzialalo ale gdzie to dac??
P.S a duzo daje ta kompresja i warto ja stosowac?
EDIT:
Chodzi o cos takiego:
Kopiuj
class GZip {
var $compress, $uses_gzhandler;
function __construct() {
$this -> compress = false;
$this -> uses_gzhandler = false;
$phpver = phpversion();
$useragent = $_SERVER['HTTP_USER_AGENT'];
if (USE_GZ) {
if ($phpver >= '4.0.4pl1' && (strstr($useragent,'compatible') || strstr($useragent,'Gecko'))) {
if (extension_loaded('zlib')) {
$this -> compress = true;
$this -> uses_gzhandler = true;
ob_start('ob_gzhandler');
}
}
else if ($phpver > '4.0') {
if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) {
if (extension_loaded('zlib')) {
$this -> compress = true;
ob_start();
ob_implicit_flush(0);
header('Content-Encoding: gzip');
}
}
}
}
if (!$this -> compress) ob_start();
}
public function buffer_end_clear() {
ob_end_clean();
}
public function display() {
if (!$this -> uses_gzhandler && $this -> compress) {
$gzip_size = ob_get_length();
$gzip_contents = ob_get_clean();
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00", substr(gzcompress($gzip_contents, 1), 0, - 4), pack('V', crc32($gzip_contents)), pack('V', $gzip_size);
}
else ob_end_flush();
exit;
}
}
POtem w config:
define('USE_GZ', true);
Tylko ze struturalnie i bez sprawdzania wszelkich ustawien tak jak pokazalem wyzej jak nie spruboje uzyc ta klase ale nie warto mieszac OOP z moim kodem :)
P.S klasa nie dziala po prostu nie moge dac na samym poczatku include() nie wiem czemu koledze dziala