Teknik Validasi Dimensi Image Yang Diupload Dengan PHP

Pada artikel sebelumnya saya telah menjelaskan bagaimana melakukan proses validasi terhadap tipe file gambar yang kita upload. Sekarang saya mencoba menjelaskan bagaimana memvalidasi file gambar yang kita upload memiliki aturan dimensi ukuran yang telah ditentukan.

Jadi seperti ini kasusnya, system dari aplikasi kita hanya menerima file gambar yang bertipe jpeg dan memiliki ukuran dimensi minimal dengan lebar 100px dan tinggi 125px dan ukuran dimensi maksimal dengan lebar 200px dan tinggi 300.

Apabila nanti user memasukan gambar yang memiliki dimensi kurang dari ukuran dimensi gambar minimal yang dikehendaki atau melebihi ukuran dimensi gambar maksimal yang dikehendaki maka akan proses upload dibatalkan.

Lalu bagaimana caranya, ya kita tinggal membandingkan ukuran file gambar yg hendak diupload dengan spesifikasi ukuran dimensi maksimal dan minimal. Langsung saja ya, copy folder pada artikel sebelumnya. Lalu beri nama folder itu dengan nama ‘validasi ukuran dimensi’. Lalu buat file baru dengan nama fungsi_cek_dimensi.php. Berikut listing codenya :


Pada code fungsi_cek_dimensi.phpterdapat 2 fungsi yaitu function cekDimensiMax() untuk mengecek ukuran dimensi maksimal file gambar yang diupload dan function cekDimensiMin() untuk mengecek ukuran dimensi minmal file gambar yang diupload. Secara konsep, kedua file memiliki logika yang sama, namun perbedaannya hanya masalah maksimal dan minimal.

Lihat pada function cekDimensiMax(), $lokasi_file adalah path atau lokasi file gambar yang akan diupload sebelum disimpan pada folder image. Setelah kita mengetahui lokasi file gambar yang hendak diupload, kita ukur file gambar tersebut dengan fungsi gambar pada PHP,

GetImageSize(‘lokasi_gambar’)

Fungsi GetImageSize() disini menghasilkan array pertama yaitu lebar dari file gambar yang akan diupload dan array kedua adalah tinggi dari gambar yang akan diupload.

Lalu kini kita bandingkan lebar ukuran gambar sebenarnya dengan ukuran gambar maksimal atau ukuran gambar minimal yang telah kita setting.

if ( $ukuran_asli[0] > $lebar_max and $ukuran_asli[1] > $tinggi_max ) {
$hasil = 1;
}
Sekarang buku file proses_upload.phplalu tambahkan kode dibawah proses cekTypeImageUpload. Lengkapnya bisa dilihat pada listing kode dibawah.

Lihat pada kode,
$cekMax = cekDimensiMax($lokasi_file);
Kita ketahui bahwa function cekDimensiMin dan function cekDimensiMax akan memiliki keluaran value 1 atau 0. 1 apabila ukuran dimensi yang melebihi dari ukuran maksimal atau kurang dari ukuran minimal.

Dan memiliki nilai 0 apabila dimensi gambar yang akan diupload tidak melebihi ukuran maksimal dimensi dan tidak kurang dari ukuran minimal dimensi yang telah kita setting.

download semua file disini

Sampai disini, semoga bermanfaat ya. Lain waktu saya share lagi.
Farhamdani

Sharing insights on tech, blogging, and passive income. Follow for more at farhamdani.eu.org!

Drop your comments, but make sure they’re related to the discussion!

I'd be grateful if you could read the Commenting Rules on this blog before posting a comment.

Post a Comment (0)
Previous Post Next Post