How to compress a file say xxx.xml of 6MB into xxx.xml.gz using php program.
How do you create a .gz file using PHP?
This solution doesn't work for me. it produce one .gz file which cant be open. it should be not just .gz it should be xxx.xml.gz
    $source='xxx.xml';
function gzCompressFile($source, $level = 9){ 
    $dest = $source . '.gz'; 
    $mode = 'wb' . $level; 
    $error = false; 
    if ($fp_out = gzopen($dest, $mode)) { 
        if ($fp_in = fopen($source,'rb')) { 
            while (!feof($fp_in)) 
                gzwrite($fp_out, fread($fp_in, 1024 * 512)); 
            fclose($fp_in); 
        } else {
            $error = true; 
        }
        gzclose($fp_out); 
    } else {
        $error = true; 
    }
    if ($error)
        return false; 
    else
        return $dest; 
} 
/////////////////////////////////////////////////////////////compresion of output file ends here
//call gzCompressFile function starts
         gzCompressFile();
// call gzCompressFile function ends
The other solution below is only for string not for file.
     <?php
    $string = 'Some information to compress';
    $gz = gzopen('somefile.gz','w9');
    gzwrite($gz, $string);
    gzclose($gz);
    ?>
Above one is for only string compression not for file compression Kindly help me to fix it.