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.