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
Quick Code
<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
Quick Code
< ?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
Tambahan : kode di bawah ini merupakan keterangan lain yang mungkin dapat dijadikan pendukung pemahaman anda.
Quick Code
< ?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…






