bimoweb[dot]com

Blogger•Programmer•Internet Marketer

Membuat Tool Compressi Berbasis Web Dengan PHP

By Bimo Hery Prabowo • Apr 18th, 2008

tool-compression-berbasis-web-aplikasi-web-phpPHP dilengkapi dengan modul compression file yang cukup ampuh. Modul ini sudah sering digunakan pada sistem opersi UNIX, termasuk Linux. Nama compresinya adalah Gzip. Biasanya modul ini sudah disertakan pada paket PHP terbaru, jika belum anda bisa mendapatkannya di internet secara gratis. Nah dengan menggunakan modul gzip, kita bisa membuat tool sederhana untuk mengkompress file text sehingga ukurannya menjadi lebih kecil. Untuk level kompresi tertinggi, ukuran file jauh berkurang mencapai 60% lebih. Bagaimana kiprah dari tool sederhana ini?

Sebelum dikompress, file terlebih dahulu di upload dalam sebuah direktori khusus yang sebelumnya telah dibuat. Setelah itu file akan dikompress menjadi lebih kecil, dan file yang telah terkompress tersebut bisa didownload. Akhirnya anda akan mendapatkan file yang sudah terkompressi. Memang tool ini kalah praktis dengan tool kompresi berbasis desktop yang sudah terintegrasi dengan windows, tetapi setidaknya ada web-based file compression. Tujuanya sebagai pembelajaran saja kok. Berikut ini kode yang digunakan.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 <form method="post" action="formfile.php" enctype="multipart/form-data">
 <input type="file" name="berkas" />
 <input name="post" type="submit" value="Compress" />
</form>
<?php
 if (isset($_POST["post"])){
  /*
   Dibawah ini adalah fungsi untuk kompressi, inti dari tool ini terletak pada fungsi dibawah ini
   paramter yang diperlukan :
   src_file : yang berarti file sumber
   dest_file : yang berarti file hasil kompresi
   level : tingkatan kompresi, semakin tinggi tingkatannya semakin kecil file yang dihasilkan
   pada tool ini, default tingkat kompresi adalah 9, anda bisa mengubahnya kok
  */
  function compress($src_file, $dest_file,$level){
	$data = implode("", file($src_file));
	$gz_data = gzencode($data,$level);
	$fp = fopen($dest_file, "w+");
	fwrite($fp, $gz_data);
	fclose($fp);
  } 
  /*
   ------------- akhir dari fungsi-------------------------
  */
  $berkas=$_FILES["berkas"]["name"];
  $dest="upload/".$berkas;
  if (move_uploaded_file($_FILES["berkas"]["tmp_name"],$dest)){
   compress($dest,"upload/".$berkas.".gz",9);
   ?>
   Download compressed file :<a href="upload/<?php echo $berkas?>.gz"><?php echo $berkas?>.gz</a>
   <?php
  }
 }
?>

Catatan penting: Sebelum mempraktikkan tool ini, anda harus membuat sebuah direktori dibawah diretori utama situs anda dengan nama upload. Direktori ini digunakan untuk menampung file sebelum dikompress, nantinya file yang terkompresi akan ditampung disini juga. Link download file yang telah dikompresi akan diberikan kemudian jika file berhasil terkompresi.

Anda bisa memodifikasi tool ini agar menjadi lebih informatif. Mungkin dengan tool ini, anda bisa membuka layanan kompresi file berbasis web, atau dibuat skripsi. Silahkan dicoba. :)

Related Post

Tagged as: , , , , , ,
Bookmark and Share

RSS feed | Trackback URI

3 Comments »

2008-04-24 04:40:24

[…] Membuat Tool Compressi Berbasis Web Dengan PHP (0) […]

 
Comment by dody
2008-05-04 14:46:13

wahh..thank’s bngt atas tips N triknya..
semoga dapat bermanfaat..

salam,.
dody

 
Comment by diana
2008-07-09 17:49:34

thx for sharing :)
sangat bermanfaat tuk referensi
aku lagi bikin tugas akhir tentang topik ini

 
Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.