Ada banyak cara yang digunakan untuk membuat file terkompresi dengan menggunakan PHP, file kompresi yang terkenal yaitu zip file dan tar file.

Untuk membuatnya sangat mudah, dengan memanfaatkan library yang disediakan oleh php yaitu :

  • menggunakan ext/zip extension

Ini berlaku pada php versi 5.1 keatas. Silahkan cek pada php.ini cari library zip, kemudian hilangkan tanda ;

Adapun contoh source code sbb:

// create object
$zip = new ZipArchive();

// open output file for writing
if ($zip->open(”hasil_file_terkompresi.zip”, ZIPARCHIVE::CREATE) !== TRUE)
echo “Could not create archive.<br>”;

if (!$zip->addFile(”nama_file_yang_akan_dikompres”))
echo “<center><font color=red>Archive created successfully.<br>”;

// close and save archive
$zip->close();

  • Menggunakan PEAR’s Archive_Zip package

Untuk menggunakan paket PEAR’s Archive_Zip, cek dulu apakaha diinstalasi php kita menyertakan paket PEAR’s Archive_Zip. Biasanya terletak di folder PEAR/Archive/Zip.php, Bila belum ada silahkan download dulu di http://pear.php.net/package/Archive_Zip.

Berikut adalah contoh source code :

<?php
// include class
include “Archive/Zip.php”;
// create object
// specify filename for output file
$zip = new Archive_Zip(”nama_file.zip”);
// recursively process directories
// add to file array
$iterator = new RecursiveIteratorIterator(.
new RecursiveDirectoryIterator(”files/”));
foreach ($iterator as $key=>$value) {
$files[] = $iterator->getPathname();
}
// build archive
$zip->create($files) or die(”Could not create archive!”);
echo “Archive created successfully.”;
?>

  • Membuat TAR Archive

Untuk membuat file terkompresi Tar diperlukan dukungan paket PEAR’s Archive_Tar (http://pear.php.net/package/Archive_Tar).

Adapun contoh source codenya sbb:

<?php
// include class
include “Archive/Tar.php”;
// create object
// specify filename for output file
$tar = new Archive_Tar(”nama_file.tar”);
// recursively process directories
// add to file array
$iterator = new RecursiveIteratorIterator(new .
RecursiveDirectoryIterator(”files/”));
foreach ($iterator as $key=>$value) {
$files[] = $iterator->getPathname();
}
// build archive
$tar->create($files) or die(”Could not create archive!”);
echo “Archive created successfully.”;
?>

previous post: Create Loading Images Online