April 18, 2008 at 2:50 am

Membuat Tool Compressi Berbasis Web Dengan PHP

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

RSS feed | Trackback URI

7 Comments »

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

 
Comment by yeremieli t t
2008-10-16 02:37:53

terimakasih ya atas informasinya, saya mau tanya cara pembuatan upload foto ngimana?, rumus untuk mendelete juga..Gbu

 
Comment by surya
2008-10-31 14:41:28

bozz.. gw lagi bikin tugas akhir nih bikin web, kalo buat web tarifnya berapa plus penjelasan-penjelasan untuk sidang nanti? bls email gw yah

 
Comment by ani
2008-11-05 02:18:31

Thks v.m. atas referensi & tipsx…
wassalam

 
Comment by Meftahul Jannah
2008-12-13 04:43:02

Good Job…

Thank you.

 
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> <pre lang="" line="" escaped=""> in your comment.

Trackback responses to this post