Upload File Menggunakan PHP dan MySQLi


Upload File Menggunakan PHP dan MySQLi

Upload File Menggunakan PHP dan MySQLi – Hallo selamat datang di tutorial lengkap PHP dari malasngoding.com, pada materi kali ini kita akan coba membahas cara upload file menggunakan php dan mysqli.

Materi ini sebenarnya sudah pernah di bahas di seri php dan mysql dengan judul membuat upload file dengan php dan mysql. Oleh karena sekarang sudah menggunakan mysqli kami mecoba membantu sobat untuk mengupgrade kembali materi cara upload file menggunakan php dan mysqli.

Upload File Menggunakan PHP dan MySQLi

Upload file merupakan salah satu materi yang harus dikuasai dan sangat penting dalam materi belajar pemrograman khusunya web. Dikarenakan ada kalanya dalam membuat sebuah program kita perlu upload file baik berupa foto, document dan sebagainya. Contohnya saja pada foto profil, untuk foto didalam profil kita harus upload file foto terlebih dahulu.

Oke langsung ke materi pokok, ikut langkah-langkah berikut :

Siapkan Database

Langkah pertama yang harus ada dalam upload file yaitu database (tempat nama file nya nanti disimpan). Disini saya sudah memiliki database dengan nama tutorial, dan saya akan mengimplementasikan contoh aupload file berupa foto yang ada pada tabel user. Untuk struktur databasenya bisa dilihat di gambar berikut :

upload file pada php dan mysqli

Struktur Database

Atau silahkan import tutorial.sql berikut di phpmyadmin :

Koneksi Databse dengan PHP

Setelah langkah pembuatan database sudah selesai, langkah selanjutnya yaitu membuat koneksi antara database dan php. Disini saya kasi nama filenya koneksi.php

Saya rasa disini tidak perlu saya jelaskan lebih detail bagaimana cara membuat koneksi, ini karena sudah kami bahas khusu di materi sebelumnya di sini.

Membuat Form Input File

Langkah yang ketiga yaitu membuat form input, form ini dimaksudkan untuk input file kedalam database. Pada input file ini saya kasi nama user_tambah.php

Dalam membuat form ini saya menggunakan librabry bostrap 4 supaya tampilan sedikit lebih bagus hehe. Pada baris ke 12, tapetnya pada <form> saya menggunakan file dengan nama user_act.php dengan method post dalam mengirim data. Ekstensi gambar yang diperbolehkan yaitu png, jpg, jpeg, dan gif, bisa sobat lihat pada baris ke 28.

Potongan dari perintah pada baris ke 12 ini bisa dilihat ada satu fungsi enctype adalah atribut yang berperan dalam menentukan bagaimana data form dikirim ke server dan tipe form terseut.

Membuat Aksi Inputan File

Langkah ke 4 kita akan membuat sebuah file aksi untuk memproses inputan gambar, disini saya kasi nama user_act.php . File ini nantinya berisikan perintah untuk memproses data yang kita input dari form masuk kedatabase. Untuk perintahnya silahkan dilihat di code berikut :

Dari potongan kode diatas merupakan file aksi dari form yang sebelumnya kita buat. Pertama-tama kita harus menginclude dahulu file koneksi.php yang menghubungkan database dengan sistem yang dibuat menggunakan PHP. Sedangkan baris ke 3 sampai 5 itu berfungsi untuk menangkap data yang dikirim menggunakan method post dari form sebelumnya.

Perhatikan kode diatas, fungsi rand() disini untuk merandom nomor. Fungsinya disini untuk memberikan nomor random untuk nama file gambar supaya ketika ada gambar dengan nama bisa dibedakan dari angka random ketika diinput nantianya. Misalnya profil_saya.png ketika 001298_profil_saya.png.

Sedangkan variabel $ekstensi disini saya menyimpan ekstensi yang diperbolehkan ketika mengupload file. Seperti yang sudah saya bilang sebelumnyaa kita memerlukan ekstensi yang diperbolehkan ketika upload file.

$filename adalah variabel yang menyimpan nama file yang sudah di input sebelumnya.  Sedangkan $ext adalah variabel yang disini kita akan mengecek ekstensi yang yang di upload.

Di baris ke 13, seperti code diatas yaitu kita cek dahulu ekstensi yang diperbolehkan dan ekstensi file yang kita upload. Untuk mengeceknya disini kita menggunakan fungsi in_array, !in_array disini maksudnya jika nilai ekstensi yang diperbolehkan dan ekstensi gambar tidak sama maka akan dialihkan ke halaman index.php dengan peringatan gagal ekstensi.

Sedangkan jika ekstensi file yang diinput termasuk kedalam dalam ekstensi yang diperbolehkan maka akan disimpan di dalam database. $xx = $rand.’_’.$filename adalah variabel yang menyimpan nama file yang disimpan dan disisipkan angka random sebelum nama file.

move_uploaded_file adalah fungsi php untuk upload file, disini kita akan mengupload file foto kedalam folder gambar diikuti dengan nama file yang sudah dirandom.

Untuk tampilan form upload dapat dilihat pada gambar berikut :

Upload File Menggunakan PHP dan MySQLi

Tampilan form upload

Menampilkan Hasil Inputan

Oke yang terakhir kita akan menampilkan hasil dari form yang kita inputkan sebelumnya. Disini nama filenya index.php untuk codenya bisa dilihat seperti berikut :

Untuk code ini saya rasa tidak perlu dijelaskan lebih sudah pernah kita bahas sebelumnya di tutorial menampilkan data php dan mysqli. Berikut adalah tampilan dari hasil codingan diatas :

Upload File Menggunakan PHP dan MySQLi

Upload File Menggunakan PHP dan MySQLi

Sekian dulu materi kali ini Upload File Menggunakan PHP dan MySQLi, untuk sobat yang mau mendownload source code bisa di link berikut :

DOWNLOAD SOURCE CODE


Muzanni

Algorithms Learner, future lecturer and Happy to sharing about knowledge

Tutorial Menarik Lainnya

membuat form login logout tanpa database
Menghitung Selisih Waktu PHP
crud dengan ajax php mysqli
crud ajax php mysqli

Diskusi

7 Komentar
  • arda 5 years ago

    Bang kalau file upload nya lebih dari 1 gimana bang? jadi file itu mau di masukin ke dalam database yang berbeda kolom nya.
    contoh :
    saya ingin upload 3 file ke dalam 1 table database dengan atribut nama, file1,file2,file3.
    jadi gimana caranya agar file bisa masuk ke masing2 nama atribut tersebut ?

  • Multiple Upload Gambar Dengan PHP MySQLi – Malas Ngoding 5 years ago

    […] Upload File Menggunakan PHP dan MySQLi […]

  • Budi 5 years ago

    🙂 kak rekuest upload foto beserta resize tapi gak gepeng gambarnya. Rasionya tetep sama dunk.

    Pas ditampilin digrid gak memaksa seukuran grid gambarnya. Mksh ka

  • ayber 5 years ago

    kak, buat tutorial untuk reportnya dong, yg bisa nyetak gambarnya juga

  • Arman 3 years ago

    Bang, klo upload file pdf gmn bang ?

  • rion 3 years ago

    saya ada pertanyaan, saya sudah mengikuti seluruh step di atas. tapi ketika saya tes
    terjadi kesalahan pada bagian ekstensi ( gagal ekstensi) pada setiap file yang saya upload
    padahal saya sudah buat ekstensinya sesuai dengan file yang akan saya upload.
    itu bagaimana solusinya ?

  • Dewa Bhaskara 2 years ago

    Kalau mau uploud file berupa mp3/audio bagian mana yang dirubah?

Tulis Komentar / Pertanyaan

Download ebook belajar HTML & CSS dasar untuk pemula gratis

Download Ebook belajar HTML & CSS dasar untuk pemula gratis.

Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana. materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.

DOWNLOAD