Rabu, 25 Juli 2012

Zip PHP untuk Kompresi File Direktori (Pemrograman Web PHP)

Daripada lupa, berikut ini penulis menemukan cara mengkompresi banyak file ke dalam satu file ZIP dengan PHP, cukup bermanfaat :

<?php
// http://cariprogram.blogspot.com
// nuramijaya@gmail.com

$files = array('example/tes1.txt', 'example/logo-small.gif');
$zip = new ZipArchive;
$zip->open('file.zip', ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=file.zip');
header('Content-Length: ' . filesize("file.zip"));
readfile("file.zip");
?>

Sedangkan di bawah ini adalah cara kompresi Direktori menjadi file ZIP dengan PHP :



<?php
// http://cariprogram.blogspot.com
// nuramijaya@gmail.com

$path="example";
$zip = new ZipArchive;
$zip->open('dir.zip', ZipArchive::CREATE);
if (false !== ($dir = opendir($path)))
     {
         while (false !== ($file = readdir($dir)))
         {
             if ($file != '.' && $file != '..')
             {
                       $zip->addFile($path.DIRECTORY_SEPARATOR.$file);
                       //hapus jika perlu
                       //if($file!=='important.txt')
                       //  unlink($path.DIRECTORY_SEPARATOR.$file);
             }
         }
     }
     else
     {
         die('Can\'t read dir');
     }
$zip->close();

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename=dir.zip');
header('Content-Length: ' . filesize("dir.zip"));
readfile("dir.zip");
?>

Project selengkapnya silakan download disini . Setelah masuk Google Docs, klik File - Download.

Semoga berguna.