0
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.

Community
  • 1
  • 1
sudan kanakavel
  • 275
  • 1
  • 3
  • 13

0 Answers0