Fitur upload file dalam setiap website sangat dibutuhkan, namun untuk menjaga agar file yang upload sesuai dengan yang kita butuhkan maka kita perlu membuat validasi agar file yang diupload sesuai dengan kebutuhan. Untuk memenuhi kebutuhan tersebut saya akan membuat sebuah upload file dengan validasi seperti dibawah ini;
- Jika file tidak kosong.
- Jika ekstensi file adalah salah satu dari .jpg, .png, .jpeg.
- Jika ukuran file kurang dari atau 2MB.
- Jika dimensi file dalam (300X200).
Form HTML dengan Tag Input
Form ini berisi file input untuk pengguna yang memilih file yang akan diunggah. Pada saat dikirimkan, file data dikirim ke PHP untuk mengunggahnya ke target setelah validasi.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<h2>Cara Membuat Image Upload dengan validasi Size</h2> <form id="frm-image-upload" action="index.php" name='img' method="post" enctype="multipart/form-data"> <div class="form-row"> <div>Choose Image file:</div> <div> <input type="file" class="file-input" name="file-input"> </div> </div> <div class="button-row"> <input type="submit" id="btn-submit" name="upload" value="Upload"> </div> </form> <?php if(!empty($response)) { ?> <div class="response <?php echo $response["type"]; ?> "> <?php echo $response["message"]; ?> </div> <?php }?> |
Script PHP untuk Memvalidasi dan Mengunggah File Images
Dalam proses ini saya akan memvalidasi jenis file, ukuran dan dimensi sebelum mengunggah. Data file yang diunggah seperti nama file, target sementara berada dalam array $ _FILES [“image_fileâ€]. Fungsi PHP move_uploaded_file digunakan untuk mengunggah file dengan mengakses data file yang disimpan dalam superglobal $ _FILES.
Saya menggunakan fungsi PHP getimagesize () untuk mendapatkan informasi ukuran untuk memvalidasi gambar yang diunggah. Saya menentukan ekstensi file gambar yang diizinkan dalam array dan memvalidasi ekstensi file yang diunggah dengan array. Anda dapat mengubah array dengan ekstensi file gambar lain yang disukai sesuai keinginan Anda. Setelah validasi berhasil, fungsi PHP move_uploaded_file () digunakan untuk menyimpan file dalam target yang ditentukan.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?php if (isset($_POST["upload"])) { // Get Image Dimension $fileinfo = @getimagesize($_FILES["file-input"]["tmp_name"]); $width = $fileinfo[0]; $height = $fileinfo[1]; $allowed_image_extension = array( "png", "jpg", "jpeg" ); // Get image file extension $file_extension = pathinfo($_FILES["file-input"]["name"], PATHINFO_EXTENSION); // Validate file input to check if is not empty if (! file_exists($_FILES["file-input"]["tmp_name"])) { $response = array( "type" => "error", "message" => "Choose image file to upload." ); } // Validate file input to check if is with valid extension else if (! in_array($file_extension, $allowed_image_extension)) { $response = array( "type" => "error", "message" => "Upload valiid images. Only PNG and JPEG are allowed." ); echo $result; } // Validate image file size else if (($_FILES["file-input"]["size"] > 2000000)) { $response = array( "type" => "error", "message" => "Image size exceeds 2MB" ); } // Validate image file dimension else if ($width > "300" || $height > "200") { $response = array( "type" => "error", "message" => "Image dimension should be within 300X200" ); } else { $target = "image/" . basename($_FILES["file-input"]["name"]); if (move_uploaded_file($_FILES["file-input"]["tmp_name"], $target)) { $response = array( "type" => "success", "message" => "Image uploaded successfully." ); } else { $response = array( "type" => "error", "message" => "Problem in uploading image files." ); } } } ?> |
Berikut Hasil dari script di atas,

Oke itulah tadi pembahasan saya tentang Cara Membuat Image Upload dengan validasi Size, semoga bermanfaat.