Creating zip or tar.gz archive without exec

Ali AlNoaimi picture Ali AlNoaimi · Aug 10, 2011 · Viewed 42.1k times · Source

Is there is any safe way to create a zip archive, or tar.gz from php without using exec command ?

thanks

Answer

Déján Kőŕdić picture Déján Kőŕdić · Nov 19, 2013

If you want to create tar.gz and you are using PHP 5.3+, you can use PharData class:

try
{
    $a = new PharData('archive.tar');

    // ADD FILES TO archive.tar FILE
    $a->addFile('data.xls');
    $a->addFile('index.php');

    // COMPRESS archive.tar FILE. COMPRESSED FILE WILL BE archive.tar.gz
    $a->compress(Phar::GZ);

    // NOTE THAT BOTH FILES WILL EXISTS. SO IF YOU WANT YOU CAN UNLINK archive.tar
    unlink('archive.tar');
} 
catch (Exception $e) 
{
    echo "Exception : " . $e;
}