Membuat Upload File Dengan PHP – Validasi Ukuran Dan Format

Membuat Upload File Dengan PHP - Validasi Ukuran Dan Format

Pada seri sebelumnya kita sudah belajar membuat upload file dengan PHP, namun pada seri itu kita hanya belajar secara dasar saja yang tidak ada validasi sama sekali. Kemudian pada seri ini kita akan belajar kembali seri upload file dengan PHP dengan menggunakan validasi. Validasi yang akan digunakan pada seri ini ada 2 validasi utama yaitu valiasi ukuran file dan format file. Bagi kamu yang belum mengikuti seri upload dasar pada seri sebelumnya sebaiknya mempelajari seri sebelumnya terlebih dahulu, supaya lebih mudah mengikuti seri ini. Namun bagi kamu yang sudah jago dengan PHP Dasar pasti tidak akan kesulitan memahami kode diseri ini tanpa mempelajari seri sebelumnya.

Validasi ukuran file disini maksudnya untuk membatasi ukuran file yang ingin diupload oleh user. Karena jika ada user yang upload file hingga berGiga-Giga pasti server website kita akan hancur (penyimpanan penuh). Dan kapasitas penyimpanan server website biasanya terbatas, kecuali server website milik perusahaan besar.

Kemudian untuk validasi format file bertujuan untuk membatasi format file yang bisa diupload, biasanya file yang dibolehkan berupa file gambar berformat jpg atau png. Validasi file ini sangat penting. Karena jika ada user yang iseng dengan upload file PHP atau file lainnya yang didalamnya terdapat kode yang berbahaya tentunya hal itu tidak kita inginkan bukan?. Maka dari itu kita memerlukan validasi format file.

Pada seri ini saya menggunakan file latihan sebelumnya yang bernama upload.php yang saya copy pada folder yang sama menjadi upload2.php. Kemudian pada file upload2.php saya edit kodenya menjadi seperti dibawah ini.

Kode diatas mungkin terlihat agak berantakan :D, namun disini tujuannya supaya mudah dipahami. Pada kode tersebut saya membuat variabel dan setelahnya baru digunakan. Supaya tidak pusing mencarinya itu variabel isinya data apa.

Kode diatas yang diedit pada bagian form action menjadi action=”upload2.php”. Dan kemudian saya rombak habis-habisan pada kode PHP, yaitu pada baris nomor 7 – 44.

Sebenarnya dengan membaca komentar yang terdapat di baris kode diatas sudah cukup jelas. Namun disini saya ingin menjelaskan beberapa saya yang saya kira penting. Pada baris nomor 11 terdapat sebuah validasi error, validasi tersebut didapat dari upload file. Karena jika ada error akan disimpan didalam array $_FILES[‘file’][‘error’] dengan jumlah error tertentu. Namun jika tidak ada error maka array tersebut akan bernilai 0 (nol).

Kemudian pada baris nomor 15 terdapat validasi ukuran file, validasi tersebut dapat upload file dengan ukuran dibawah atau sama dengan 1000000 (1MB). Tentunya kamu dapat merubah ukuran tersebut sesuai dengan yang kamu inginkan.

Kemudain pada baris nomor 20 terdapat validasi format file, pada validasi tersebut file yang diinginkan hanya file jpg dan png saja. Tentunya kamu dapat menambahkan format lain misalnya seperti format gif, pdf, doc, dan lain sebagainya. Variabel $format didapat dari function pathinfo() (lihat baris nomor 17) dengan menggunakan 2 buah argumen yaitu nama file dan PATHINFO_EXTENSION. PATHINFO_EXTENSION merupakan argumen bawaan PHP yang akan mengembalikan (return) format file.

Pada baris nomor 23 terdapat kode $upload = move_uploaded_file($file_asal, $file_tujuan);. Yang maksudnya menjalankan function move_uploaded_file() hasil (return) dari function tersebut disimpan kedalam variabel $upload. function move_uploaded_file() akan menghasilkan nilai true jika proses uplaod berhasil dipindahkan ke folder upload, namun jika gagal akan bernilai false.

Dan pada baris nomor 26 terdapat kode untuk menguji variabel $upload. Jika variabel bernilai true maka akan menjalankan kode echo “Upload berhasil”;. Namun jika bernilai false tentunya akan menjalankan kode echo “Upload gagal”;.

Sekarang silakan jalankan file upload2.php, selanjutnya silakan pilih file jpg atau png dengan ukuran file dibawah 1MB. Dan klik Upload, maka akan menampilkan pesan “Upload Berhasil“.

Gambar Hasil Contoh Kode Membuat Upload File Dengan PHP - Upload Berhasil

Selanjutnya pilih file dengan ukuran diatas 1MB maka akan menampilkan pesan “Ukuran file kamu 1982163, file tidak boleh lebih dari 1000000 (1MB)“, yang maksudnya file tidak bisa diupload.

Gambar Hasil Contoh Kode Membuat Upload File Dengan PHP - Upload Gagal 1

Selanjutnya silakan pilih file dengan format selain jpg atau png (dibawah 1MB), dan klik Upload. Maka akan menampilkan pesan “Format harus jpg atau png“.

Gambar Hasil Contoh Kode Membuat Upload File Dengan PHP - Upload Gagal 2

Sebagai catatan kode membuat upload file dengan PHP diatas masih belum baik, karena belum ada validasi nama. Karena jika ada user upload file dengan nama yang sama maka file lama akan ditimpa dengan file upload yang baru. Untuk mengatasi ini silakan pelajari juga di seri upload file selanjutnya.

Demikian untuk seri belajar membuat upload file dengan PHP, apabila kamu memiliki pertanyaan seputar seri ini silakan sampaikan dikolom komentar dibawah. Dan apabila kamu baru menemukan seri PHP dasar yang ada di website ini, kamu dapat mengunjungi list seri tutorial belajar PHP dasar yang mungkin bisa menambah wawasan kamu seputar bahasa pemrograman PHP.


Kolom Komentar

Related Post