ciao
ho visto l'esempio su http://php.net/manual/en/function.gzencode.php#105498

Codice PHP:
<?php

// disable ZLIB ouput compression
ini_set('zlib.output_compression','Off');

// compress data
$gzipoutput gzencode($output,6);

// various headers, those with # are mandatory
header('Content-Type: application/x-download');
header('Content-Encoding: gzip'); #
header('Content-Length: '.strlen($gzipoutput)); #
header('Content-Disposition: attachment; filename="miofile.sql.gz"');
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
header('Pragma: no-cache');

// output data
echo $gzipoutput;

?>
Sto usando questo stesso codice ma quando scarico un file .sql dal server questo arriva sì con l'estensione .sql.gz ma il mio PC non lo fa aprire perchè in realtà non è un file compresso bensì un semplice file .sql. Infatti se lo rinomino in "miofile.sql" lo apro senza problemi.

Ho anche provato con
header('Content-Type: application/x-gzip');
header('Content-Type: application/gzip');

ma nulla. Dove sbaglio secondo voi? Grazie