OpenCart 🇺🇦

Схема

private string compress ( string $data, int $level = 0 )

Аргументы

Аргумент Возможный тип Описание
$data string
$level = 0 int

Описание

Сжимает содержимое строки $data методом gzip, если на сервере есть php-расширение zlib. Прошу заметить, что метод приватный и поэтому вызвать его можно только из этого класса. Вызывается он методом $this->output()

Исходный код

if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false)) {
	$encoding = 'gzip';
} 

if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && (strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== false)) {
	$encoding = 'x-gzip';
}

if (!isset($encoding)) {
	return $data;
}

if (!extension_loaded('zlib') || ini_get('zlib.output_compression')) {
	return $data;
}

if (headers_sent()) {
	return $data;
}

if (connection_status()) { 
	return $data;
}

$this->addHeader('Content-Encoding: ' . $encoding);

return gzencode($data, (int)$level);