Membuat Script Form Upload File dengan PHP

Onphpid – Dalam membuat website terutama saat membuat CMS ( Content Management System ) dengan bahasa program (server side) khususnya php pastilah ada fitur upload, entah itu fungsi untuk upload file atau upload gambar. Misalnya saja upload photo pada halaman registrasi atau halaman management user, upload gambar background pada website atau upload cover pada facebook.

Fungsi upload ini memang sudah tidak asing atau bukan hal yang baru. Tapi karena sudah banyak tutorial yang memuat tentang cara membuat script upload file dengan php seperti halnya tutorial yang onphpid ini buat. Namun fungsi upload file dengan php kali ini sedikit berbeda dengan script upload file dengan php yang pernah onphpid temukan, karena fungsi atau script upload ini akan dijadikan sebuah fungsi baru dengan menggunakan fungsi php function().

FUNCTION() atau php function() ini merupakan salah satu power dari php yang nyata karena kemudahannya dalam membuat fungsi-fungsi baru sesuai keinginan kita. Ada beberapa hal yang perlu diperhatikan tentang fungsi ini.

1.    Fungsi ini perlu dideklarasikan sebelum digunakan
2.    Fungsi ini berlaku saat file php yang memuat fungsi ini di load
3.    Fungsi ini akan bekerja saat fungsi tersebut dipanggil

Fungsi upload sendiri didasarkan pada fungsi php move_uploaded_file, fungsi yang mengijinkan kita untuk memindah file baik photo, gambar, doc, zip dan sebagai dari komputer kita ke hosting, server atau website kita. Pada penerapannya fungsi upload dengan php ini membutuhkan sebuah request berupa $_FILES melalui perantara Form dari tag html dengan menambahkan attribut  enctype=”multipart/form-data” pada tag form  dan tag input yang bertipe file tersebut hingga menjadi:

Dan seperti biasa step by step membuat script untuk form upload dengan php ini adalah membuat sebuah database dengan nama “belajar” dan sebuah table dengan nama “upload” karena kita akan menyimpan data file yang kita upload ini kedalam database, di sini yang kita simpan dalam database adalah alamat dari file yang telah terupload dengan fungsi php move_uploaded_file.

Berikut keterangan dari table upload yang akan kita buat

Step selanjutnya adalah membuat file-file php berikut :

  • Buatlah direktori php-file-upload
  • Functions.php
  • Index.php
  • Config.php

Setelah file-file php yang kita butuhkan sudah dibuat maka selanjutnya adalah mengisinya dengan fungsi-fungsi php.

Pertama kita mulai dari config.php, config.php adalah file untuk membuat perintah koneksi dengan database mysql dan di sini kita menggunakan fungsi mysqli dari php untuk berinteraksi dengan database mysql. Silahkan lihat script  berikut:

define(‘MAIN’, dirname(__FILE__) ) ini merupakan variable konstanta untuk menyimpan path atau alamat folder secara lengkap dari root dengan bantuan fungsi dirname(__FILE__). dirname(__FILE__) ini berfungsi untuk mendeteksi folder terakhir dimana fungsi ini diletakkan. Dalam kasus ini path yang dihasilkan adalah c:\xampp\htdocs\php-file-upload karena file config.php yang terdapat fungsi dirname(__FILE__) di dalamnya ini berada di folder php-file-upload ( direktori utama ).

Yang kedua adalah membuat file functions.php dimana file functions.php ini memuat fungsi-fungsi yang kita buat dengan php function() dalam hal ini adalah fungsi upload.

 Baca Juga : Mengubah Array menjadi variable

Dengan fungsi diatas kita cukup menggunakan fungsi upload_data($file_yg_diupload) untuk mengupload sebuah file baik file gambar ataupun file yang lain kecuali file yang berekstensi php,pl,jsp,asp,sh,cgi,html dan css dikhawatirkan website akan di inject dengan file-file tersebut.
Sedangkan fungsi global pada script upload di atas berfungsi sebagai penangkap dan menyimpan value dari variable-variable yang ada di dalam script upload, dalam kasus ini variable yang ditangkap dan disimpan adalah $filename dan $error.

Di tutorial kali ini kita akan mencoba mengupload sebuah file gambar atau photo saja untuk selebihnya kalian bisa mengembangkan sendiri script upload yang sudah kita buat dengan php function.
Dan step yang terakhir adalah mengisi file index.php kita dengan script berikut :

 Baca juga Perbedaan HTML dan PHP

Adapun argumen argumen yang bisa kita tambahkan pada fungsi upload_data() tadi dengan argumen argumen berikut :

Standard penggunaan fungsi upload_data()

Mengubah limitasi atau pembatasan ukuran file yang diupload dalam satuan KB (Kilobyte)

Memindah lokasi atau direktori untuk meletakkan file yang diupload

Memindakan lokasi sekaligus memberikan batasan file yang diupload

Menampilkan nama file yang sudah diupload

ini hanya muncul setelah fungsi upload selesai dijalankan, karena fungsi get_file_name() ini ditujukan untuk report
Menampilkan error saat terjadi kesalahan dalam proses upload

Sama halnya dengan get_file_name(), get_error_upload() juga merupakan report.

Dan secara default fungsi upload_data() tersebut akan meletakkan file yang diupload pada folder uploads dan batasan maksimal file yang diupload adalah 100KB. Apabila folder uploads ini belum ada fungsi upload_data() akan membuat direktori atau folder tersebut. Sedangkan untuk penamaan file kita gunakan nama unik dengan menggunakan fungsi md5() dan fungsi uniqid() sehingga tidak terjadi replace atau penggantian file yang kebetulan namanya sama.

Perbedaan|Hubungan antara PHP dan HTML
Membuat data statistik pengunjung website dengan php