Apabila pada tulisan saya sebelumnya menjelaskan cara upload yang sederhana, dimana setiap orang dapat upload segala macam file, namun apabila hanya menginginkan file-file tertentu saja yang diperbolehkan untuk diupload bagaimana?
Mekakukan pembatasan file-file tertentu saja yang boleh di upload cukup mudah, Anda hanya perlu menambahkan beberapa baris script sebelum proses upload dilakukan, dengan memberikan script tersebut, apabila ekstensi file (format file) yang diupload sesuai dengan yang di perbolehkan pada list, maka file proses upload akan dilanjutkan, namun apabila ekstensi file tidak ada pada list, maka akan ditampilkan pesan bahwa file tersebut tidak bisa (tidak boleh) diupload.
Pada proses uploada kali ini, ada beberapa kunci yang harus diperhatikan yaitu :
- Mendapatkan ekstensi file yang diupload.
- Membuat list ekstensi file yang diperbolehkan untuk diupload.
- Membaca mencocokan ekstensi file yang diupload dengan list ektensi file yang diperbolekan.
- Menampilkan pesan gagal upload apabila ekxtensi file yang du upload tidak diperbolehkan.
Sehingga proses upload harus ubah menjadi seperti ini :
// Proses upload dan informasi hasil upload.
else {
// Membuat list file yang diperbolehkan.
$list_ext = array("gif","jpg","bmp","png","doc","xls");
// Mencari ekxtensi file yang diupload.
$file_ext = end(explode('.', $file_name));
// Membandingkan file yang diupload dengan file list.
if (in_array($file_ext, $list_ext)){
if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile))
{
echo "File telah sukses diupload, have fun!<br />";
echo "Nama : <strong>" . $file_name . "</strong>.<br />";
echo "Ukuran : <strong>" . $file_size_kb . " Kb</strong>.<br />";
}
else {
echo "Error!!<br />Proses upload gagal, ulangi lagi!" ;
}
}
else {
// Apabila file yang diupload tidak sesuai dengan file list.
echo "<strong>Error!!</strong> File tidak diperbolehkan!<br />";
echo "Extensi kamu : <strong>".$file_ext."</strong>.";
}
}
Jadi untuk file upload.php secara keseluruhan menjadi seperti berikut ini :
<?php
/**
* Upload dengan PHP
* Dengan pembatasan file-file tertentu saja
*
* Tommy Budiawan
* www.tommybudiawan.com
*
*/
// Setting untuk ukuran file makasimal dan folder tujuan upload.
$limit_size=330000; // Tentukan limit ukuran file.
$uploaddir = '/home/public_html/upload/'; // Tentukan tujuan upload disni.
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
$uploadfile= strtolower(str_replace(" ","_",$uploadfile));
if($uploadfile !=none)
{
// Menyimpan beberapa paramerter ke $file_size dan $file_name.
$file_size=$_FILES['userfile']['size'];
$file_size_kb= number_format($file_size/1024, 1, ',', '.');
$file_name=$_FILES["userfile"]["name"];
$file_name= strtolower(str_replace(" ","_",$file_name));
// Apabila nama file sudah ada, upload tidak diperbolehkan.
if (file_exists($uploadfile))
{
echo "File : ". $file_name . " sudah ada, pilih file yang lain. ";
}
// Apabila nama file terlalu besar, upload tidak diperbolehkan.
elseif($file_size >= $limit_size){
echo "Error!!<br />Ukuran file yang diupload terlalu besar.<br />";
echo "Ukuran file kamu : ". $file_size_kb ." Kb<br />";
echo "Ukuran file maksimal : 300 Kb";
}
// Proses upload dan informasi hasil upload.
else {
// Membuat list file yang diperbolehkan.
$list_ext = array("gif","jpg","bmp","png","doc","xls");
// Mencari ekxtensi file yang diupload.
$file_ext = end(explode('.', $file_name));
// Membandingkan file yang diupload dengan file list.
if (in_array($file_ext, $list_ext)){
if (move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile))
{
echo "File telah sukses diupload, have fun!<br />";
echo "Nama : <strong>" . $file_name . "</strong>.<br />";
echo "Ukuran : <strong>" . $file_size_kb . " Kb</strong>.<br />";
}
else {
echo "Error!!<br />Proses upload gagal, ulangi lagi!" ;
}
}
else {
// Apabila file yang diupload tidak sesuai dengan file list.
echo "<strong>Error!!</strong> File tidak diperbolehkan!<br />";
echo "Extensi kamu : <strong>".$file_ext."</strong>.";
}
}
}
?>


Artikel Terkait
7 komentar pengunjung pada tulisan ini.
oooh… bgono toh biar speknya jelas…
oia, cuy, buat apa banner segede itu???
Di tunggu bro bannernya, kalo uda jadi kasih link-nya ya, yup dapajang disamping itu tuch, biar kliatan, kalo kecil2 ntar gak sama ma yang uda terpasang noh, hehehe..

hohoohohoooo… i see i see..
oia, jgn lupa join Google Friend Connect gw bro..
thanxx….
ini link bannernya bro….
http://s551.photobucket.com/albums/ii476/latuminggi/blog/latu180-80.jpg
sedot daaaaaaah…..
Siip, uda dipasang!

bagus ini!!! thanx’z
gimana uploud nya script biar bisa di akses ke internet, tapi kita belum punya website.. sementara kalau gratisan susah banget prosesnya, apakah ada jasa sewa host, atau web yang mendukung PHP..?
Mengisi Komentar :
- Yang diberi tanda bintang (*) wajib diisi dengan benar.
- Komentar yang memiliki 2 tautan atau lebih akan ditahan.