Selasa, 13 April 2010

Upload File dengan Filterisasi


Upload adalah proses mengirim data (umumnya berbentuk berkas) dari komputer pribadi ke suatu sistem seperti server web, FTP server atau sistem serupa lainnya yang kemudian akan dipublikasikan di internet baik secara pribadi atau umum (dapat di nikmati oleh semua pengguna internet). Proses upload biasa dilakukan dengan tujuan agar dapat dinikmati banyak orang atau hanya berupa gambar untuk memperjelas tujuan penulisan.
Saat ini kita akan mencoba membuat form upload menggunakan PHP dengan memberikan filterisasi /validasi tipe file yang bisa di-upload dan ukuran file yang di-upload. Secara lebih rinci, berikut aturannya.
  1. Hanya mengizinkan file dengan type pdf atau zip.
  2. Data maksimum yang dapat di-upload adalah 1 MB.
Untuk source code upload tidak saya bahas lebih dalam, yang akan dibahas adalah bagaimana membuat penyaringan /validasi file yang di-upload.

Berikut ini kode program lengkapnya :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Upload File Gambar</title>
</head><body>
<form action="<?php $_SERVER['PHP_SELF'];?>"
method="post" enctype="multipart/form-data"> File : <input type="file" name="fl" />
<input type="submit" name="submit" value="Upload"/>
</form><?phpif (isset($_POST['submit']) && isset($_FILES['fl'])){
//lokasi pada direktori upload
$dir='./upload/';
$file = $_FILES['fl']['tmp_name'];
$name = $_FILES['fl']['name'];
$info = pathinfo($name); //memastikan file tdk kosong
if(!is_uploaded_file($file)){
exit('Masukkan file');
} //menetapkan data maksimu file yang di upload
if(filesize($file)>2000000){
echo 'Ukuran file '.filesize($file).'<br />';
exit('File terlalu besar, ukuran file maksimum 2 MB');
} //menetapkan tipe file
if(($info['extension'] == 'pdf') || ($info['extension'] == 'zip')){
echo'Tipe file pdf atau zip ';
} else{
exit('Maaf, file tidak bisa di-<em>upload</em> karena file bukan pdf atau zip');
}
if(!move_uploaded_file($file, $dir.$name)){
echo 'tidak bisa di-<em>upload</em> !!!';
}else {
echo'sudah di-<em>upload</em>';
}
}
?></body>
</html>

Dalam aplikasi ini terdapat fungsi-fungsi yang digunakan untuk menyaring file yang akan di-upload, fungsi-fungsi tersebut antara lain :
  • Fungsi filter tipe file, fungsi ini digunakan untuk menyaring file yang akan di-upload apakah memiliki tipe file pdf atau zip. Dengan fungsi ini, file yang akan di-upload adalah file pdf atau zip.
if(($info['extension'] == 'pdf') || ($info['extension'] == 'zip')){
echo'Tipe file pdf atau zip ';
} else{
exit('Maaf, file tidak bisa di-<em>upload</em> karena file bukan pdf atau zip');
}
  • Fungsi filter ukuran file, fungsi ini digunakan untuk menyaring file yang akan di-upload apakah memiliki ukuran kurang dari 2 MB. Jika file memiliki ukuran lebih dari 2 MB, maka file tersebut tidak akan di-upload.
if(filesize($file)>2000000){
echo 'Ukuran file '.filesize($file).'<br />';
exit('File terlalu besar, ukuran file maksimum 2 MB');
}


Simpan kode program dalam bentuk php, setelah itu jalankan melalui hosting server yang dipakai. Jika berhasil, maka akan muncul tampilan programnya seperti ini :


Jika tombol upload ditekan dan file yang akan di-upload belum dimasukkan, maka akan muncul tampilan seperti berikut ini :


Apabila file yang di-upload memiliki ukuran melebihi 2 MB, maka akan muncul tampilan seperti berikut ini :


Namun jika file yang di-ulpoad bukan file pdf atau zip, maka akan muncul tampilan seperti berikut ini :


Apabila file berhasil di-upload, akan muncul konfiramsi bahwa file berhasil di-upload seperti dibawah ini :


Namun jika file gagal di-upload, akan muncul tampilan konfirmasi gagal meng-upload file seperti ini :


Semoga program ini bisa bermanfaat untuk kita semua.

Keep Fighting Spirit On The Fire...

0 komentar: