Mendeteksi type dan ukuran dalam mengupload gambar PHP (Part 2)

2. Mendeteksi type dan ukuran gambar

Ini adalah kelanjutan tulisan yang pertama yaitu tentang Mengupload gambar dengan PHP, langsung saja silahkan ikuti langkah a b c dst di bawah ini :

a. Buat file upload_dua.php


<form enctype="multipart/form-data" action="upload_satu_proses.php" method="POST">
<!-- in Byte >
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" /--/>
    Upload file gambar: <input name="foto" type="file" />
    <input type="submit" value="Proses Upload" />
</form>

bedanya dengan upload_satu.php adalah disini tidak pakai variable MAX_FILE_SIZE, karena akan kita tentukan di proses di bawah ini.

b. Buat file upload_dua_proses.php


 
< ?php
//konfigurasi file gambar
$typeGambar=array('image/jpg', 'image/jpeg', 'image/png', 'image/gif');//type gambar yg di ijinkan
$ukuranMin = 0; //ukuran minimum, dlm byte
$ukuranMax = 100000; //ukuran maximum, dlm byte
$folder = './foto_user/'; //folder dimana file akan di letakkan
 
function cekType($fileFoto,$typeGambar) {
    $typeFile = strtolower($fileFoto[type]);
  if(in_array($typeFile,$typeGambar)) {
    return true;
  } else {
    return false;
  }
}
function cekUkuran($fileFoto,$ukuranMin,$ukuranMax) {
  if($fileFoto[size] > $ukuranMin AND $fileFoto[size] < $ukuranMax) {
     return true;
  } else {
     return false;
  }
}
function tujuanUpload($fileFoto,$folder){
$fileTujuan = $folder.$fileFoto['name'];
  if(file_exists($fileTujuan)) { //jika nama file sudah ada, rename sesuai dengan urutan
    $i=0;
      while (file_exists($fileTujuan)) {
         $fileTujuan = $folder.$i.'_'.$fileFoto['name'];
         $i++;
      }
  }
return $fileTujuan;
}
function uploadFoto($fileFoto,$tujuanUpload) {
    if (@move_uploaded_file($fileFoto['tmp_name'], $tujuanUpload)) {
     echo 'Upload Sukses<br>';//sukses
    }  else {
     echo 'Upload gagal<br />';//upload gagal
    }
}
 
$fileFoto = $_FILES[foto];//mengambil nilai file gambar
$cekType  = cekType($fileFoto,$typeGambar);//cek type file
$cekUkuran= cekUkuran($fileFoto,$ukuranMin,$ukuranMax);//cek ukuran file
 
if($cekType) {
   if($cekUkuran) {
   $tujuanUpload = tujuanUpload($fileFoto,$folder);//cek file tujuan upload,
   $prosesUpload = uploadFoto($fileFoto,$tujuanUpload);//proses upload
   } else {
   echo 'Ukuran gambar tidak diijinkan';
  }
} else {
  echo 'Type gambar tidak diijinkan';
}
echo '<br />';
echo 'Klik <a href="upload_dua.php">disini</a> untuk kembali';
?>

Anda dapat mengubah nilai pada 4 baris konfigurasi upload file gambar diatas, sesuai keinginan anda.

Keterangan kode sudah ada di listing di atas, jadi tak usah dijelaskan.

c. Jalankan upload_dua.php
Jika error maka anda sekali lagi tidak beruntung. lha wong disini jalan dengan baik :D

Tambahan : kode di bawah ini merupakan keterangan lain yang mungkin dapat dijadikan pendukung pemahaman anda.


< ?php
/*
$_FILES[foto] //mengambil nilai file gambar, bentuknya array
$_FILES[foto][type] =>> type dari file jika gambar akan berbentuk 'image/jpg','image/jpeg','image/png','image/gif'
$_FILES[foto][size] =>> ukuran dari file, dalam bentuk byte
$_FILES[foto][name]=>> nama dari file
$_FILES[foto][error] =>> error dari file, akan mengembalikan kode error, dijelaskan di bawah ini
jika $_FILES[foto]  dimasukkan dalam variabel $fileFoto, maka akan menjadi
$fileFoto = $_FILES[foto]
$fileFoto[type]
$fileFoto[size]
$fileFoto[name]
$fileFoto[error]

      switch ($fileFoto['error']) { //dapatkan informasi error
                     case 1:
       echo 'Besar file tidak diijinkan server';
    break;
    case 2:
       echo 'Besar file tidak diijinkan dari form'; // dari MAX_FILE_SIZE yang di definisikan di form
    break;
    case 3:
       echo 'File tidak sempurna di upload/file corupted';
    break;
    case 4:
       echo 'Tidak ada file yang di upload/file tidak ada';
    break;
    case 6:
       echo 'Tidak ada temp folder/ missing temporary folder';
    break;
    case 7:
       echo 'Gagal untuk memasukkan file/ problem file permission';
    break;
    case 8:
       echo 'Upload di hentikan karena ekstensi';
    break;
      }
*/
?>

Selanjutnya untuk Meresize gambar sesuai yang kita inginkan dengan PHP, akan saya tulis dalam episode berikutnya.

Semoga berguna yach…

1 Comments For This Post

  1. nur Says:

    tips ini berguna sekali kalo ada ilmu lagi tolong.aku di kirimi artikelnya ya mas.makasih.wslm

3 Trackbacks For This Post

  1. Meresize gambar sesuai yang kita inginkan dengan PHP | Scrap's Code Says:

    […] sebelumnya tentang upload gambar : 1. upload gambar dengan PHP 2. Sebelumnya Mendeteksi type dan ukuran dalam mengupload gambar PHP Ini adalah kelanjutan upload gambar yang no 3, yaitu Meresize gambar sesuai yang kita inginkan […]

  2. Cara upload gambar dengan php | Scrap's Code Says:

    […] bagian ini yang akan kita lakukan : 1. Mengupload file gambar dari drive local ke webserver 2. Mendeteksi type dan ukuran gambar 3. Meresize gambar sesuai yang kita inginkan 4. Mengupload lebih dari satu gambar […]

  3. Mengupload lebih dari satu gambar sekaligus multiple upload dengan PHP (Part 4) | Scrap's Code Says:

    […] ke empat tentang upload gambar dengan PHP, Postingan Sebelumnya adalah Mengupload gambar dengan PHP Mendeteksi type dan ukuran dalam mengupload gambar PHP Meresize gambar sesuai yang kita inginkan dengan […]

Leave a Reply

  • Popular
  • Comments
  • Tags
  • Subscribe
Advertise Here

Category

Tag Cloud