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 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:
<form action=""method="post"enctype="multipart/form-data"> <label for="">Upload file:</label> <input
type="file"name="upload"/> <button>Upload</button> </form> 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 :
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. */ function upload_data( $fileupload = array(), $argument = array() ) { global $filename,$error; if( !defined('MAIN') ){ $error = 'Direktori utama
belum diset.
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. 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.
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
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. |