Penggunaan fungsi FILE:///TMP/ERROR.HTML pada PHP
Dalam lanjutan tutorial PHP web dinamis kali ini, kita akan mulai mempelajari sesuatu yang penting lagi seru. Sesuatu yang pasti ada dalam kebanyakan sistem web yang kita buat. Apa itu? Upload file. Show
Dalam seri tutorial PHP menengah beberapa waktu lalu, kita telah mempelajari tentang manipulasi file dengan PHP. Dan materi yang akan kita pelajari sekarang ini, masih termasuk salah satu bagian dari manipulasi file. Hanya saja, dalam pertemuan kali ini kita akan mengambil pembahasan sederhana tentang upload file. Dan insyaallah pada pertemuan-pertemuan berikutnya kita akan membahas lebih dalam tentang variasi upload file dan juga cara pengamanannya. Persiapan FileLangsung saja. Siapkan kopi kalian, jangan lupa diseduh. Lalu buka teks editor favorit. Dan buat projek baru dengan struktur file sebagai berikut:
Biasanya kita membuat form dengan ekstensi Membuat FormUntuk form yang akan kita buat, sederhana saja. Hanya terdiri dari satu buah input file, dan satu buah tombol upload. Silakan tuliskan kode program berikut:
Penjelasan:
Penampakan file Memahami Struktur DataSebelum kita mulai proses upload. Kita harus memahami dulu bagaimana “bentuk” data file dikirimkan dari form HTML ke dalam server (dalam hal ini yang menangani sisi server adalah PHP). Untuk itu, tambahkan kode program berikut pada file ";
Jalankan Jika tidak terjadi error apa pun, anda akan mendapatkan output kira-kira sebagai berikut:
Penjelasan Jika kita melihat isi dari variabel
Coba Tambahkan Field BaruUntuk lebih memahami struktur data dari variabel Kita input yang baru ini akan kita beri nama sebagai Langsung saja, tambahkan kode programnya:
Setelah itu jalankan lagi file Klik tombol
Upload, anda akan mendapatkan output dari variabel
Sampai sini, kita sudah memiliki gambaran yang cukup jelas tentang struktur data sederhana dari variabel Kita akan melanjutkan ke tahap berikutnya yaitu upload file. Sebenarnya File Sudah Otomatis TeruploadIya, sebenarnya tanpa melakukan proses apa pun: file sudah terupload. Karena ketika
Nah, proses pengiriman seperti ini: itu dinamakan upload. Akan tetapi, file yang terkirim tersebut tidak langsung masuk ke dalam direktori file projek kita. Lalu di mana ia disimpan? Ia disimpan di dalam direktori sementara. Dan lokasi sementara dari file tersebut disimpan dalam nilai Lalu bagaimana agar file tersebut bisa berada di dalam direktori projek? Gampang, tinggal kita pindah aja file-nya dari direktori sementara, ke direktori projek kita. Memindahkan File Yang TeruploadUntuk memindahkannya, kita akan menggunakan fungsi bawaan PHP bernama
Hapus Semua KodeSebelum kita mulai, kita hapus dulu semua baris program dari file Buat Direktori UploadLalu (pada file yang sama), tambahkan kode program berikut:
Penjelasan:
Simpan Masing-Masing File Ke Dalam VariabelPada baris selanjutnya, tambahkan kode program berikut:
Penjelasan:
Mulai Memindahkan FileJika semuanya sudah beres, kita bisa langsung memindahkan dua file di atas seperti berikut:
Jika kita periksa file manager dan tidak terjadi error, dua file tersebut harusnya sudah berhasil terupload. Menampilkan Link File Yang TeruploadLink dari file yang terupload adalah gabungan dari nama folder upload dan nama file tujuan. Kira-kira seperti ini:
Validasi Ukuran Maksimal FileOiya, sebelum proses pemindahan file. Kita juga bisa melakukan beberapa validasi. Seperti misalnya: validasi ukuran maksimum file. Kita bisa memanfaatkan attribut
Validasi Tipe FileAtau kita juga bisa memanfaatkan atribut
Akan tetapi, atribut Oleh karena itu, cara teraman untuk memeriksa tipe dari suatu file adalah: dengan memeriksa mime type-nya. Insyaallah nanti akan kita bahas hal ini pada kesempatan yang lainnya. KesimpulanUpload file di-PHP tidak lah susah.
Sangat sederhana. Kita hanya membuat form, mengatur method menjadi POST, mengatur enctype menjadi Hanya saja, file yang terupload tersebut, tidak otomatis berada pada direktori yang kita inginkan. Melainkan masih disimpan pada direktori sementara atau temporary directory, untuk kemudian kita simpan pada lokasi yang kita inginkan menggunakan fungsi Kode Program LengkapUntuk kode program lengkap, anda bisa dapatkan di repository PHP Web Dinamis pada akun github jagongoding. Pembahasan SelanjutnyaKarena pembahasan sudah terlalu panjang, kita sudahi dulu pertemuan ini sampai di sini. Pada pertemuan selanjutnya, insyaallah kita akan membahas tentang bagaimana cara mengupload multiple files dengan satu input sekaligus. Jangan lupa share tutorial ini ke teman-teman kalian, ya! Terima kasih banyak. Referensi[1] https://stackoverflow.com/questions/4526273/what-does-enctype-multipart-form-data-mean - diakses 18 April 2020 |