QUESTO ESEMPIO NON DA PROBLEMI--->
Codice PHP:
<?php

function compress_type() {
    global 
$config;
    
    @
ini_set('zlib.output_compression_level'5);
    if (
extension_loaded('zlib')) {
        if (@
phpversion() >= '4.0.4pl1' && strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') !== false) {
            @
ob_end_clean();
            @
ob_start('ob_gzhandler');
            return 
true;
        } elseif (@
phpversion() > '4.0' && (strpos(getenv('HTTP_ACCEPT_ENCODING'), 'gzip') !== false || strpos(getenv('HTTP_ACCEPT_ENCODING'), 'deflate') !== false)) {
            @
ob_start(array('ob_gzhandler'5));
            @
ob_implicit_flush(0);
            
            if (
strstr($_SERVER['HTTP_USER_AGENT'], "MSIE") !== false) {
                @
header('Content-Encoding: gzip');
            }
            
            return 
true;
        }
    }
    
    @
ob_start();
}

compress_type();
echo 
"asd";
$output = @ob_get_contents();
@
ob_end_clean();
echo 
$output;
?>


QUESTO ESEMPIO DA PROBLEMI ---->
Codice PHP:
<?php

function compress_type() {
    global 
$config;
    
    @
ini_set('zlib.output_compression_level'5);
    if (
extension_loaded('zlib')) {
        if (@
phpversion() >= '4.0.4pl1' && strstr($_SERVER['HTTP_USER_AGENT'], 'compatible') !== false) {
            @
ob_end_clean();
            @
ob_start('ob_gzhandler');
            return 
true;
        } elseif (@
phpversion() > '4.0' && (strpos(getenv('HTTP_ACCEPT_ENCODING'), 'gzip') !== false || strpos(getenv('HTTP_ACCEPT_ENCODING'), 'deflate') !== false)) {
            @
ob_start(array('ob_gzhandler'5));
            @
ob_implicit_flush(0);
            
            if (
strstr($_SERVER['HTTP_USER_AGENT'], "MSIE") !== false) {
                @
header('Content-Encoding: gzip');
            }
            
            return 
true;
        }
    }
    
    @
ob_start();
}

compress_type();
echo 
"asd";
$output = @ob_get_contents();
@
ob_end_clean();

compress_type();
echo 
"lol";
$output = @ob_get_contents();
@
ob_end_clean();
echo 
$output;
?>

Come faccio a utilizzare due volte la funzione per la compressione per evitare che mi dia un errore di compressione?