Upload File Menggunakan PHP dan MySQLi

Upload File Menggunakan PHP dan MySQLi

Unggah File Menggunakan PHP dan MySQLi – Halo selamat datang tutorial PHP lengkap dari lazyngoding.com, pada materi kali ini kita akan mencoba membahas cara mengupload file menggunakan php dan mysqli.

Materi ini sebenarnya pernah dibahas dalam seri php dan mysql dengan judul membuat file upload dengan php dan mysql. Karena sekarang kami menggunakan mysqli, kami mencoba membantu sobat untuk mengupgrade materi tentang cara mengupload file menggunakan php dan mysqli.

Unggah File Menggunakan PHP dan MySQLi

Upload file merupakan salah satu materi yang harus dikuasai dan sangat penting dalam materi pembelajaran pemrograman khususnya web. Karena ada kalanya saat membuat program kita harus mengupload file berupa foto, dokumen dan lain sebagainya. Misalnya pada foto profil, untuk foto yang ada di profil kita harus mengupload file fotonya terlebih dahulu.

Oke langsung ke pokok bahasannya, ikuti langkah-langkah berikut:

Siapkan Database

Langkah pertama yang harus dilakukan dalam mengupload file adalah database (dimana nama file akan disimpan). Disini saya sudah memiliki database dengan nama tutorial, dan saya akan menerapkan contoh mengunggah file foto di tabel pengguna. Struktur database dapat dilihat pada gambar berikut:

unggah file di php dan mysqli

Struktur Basis Data

Atau silakan impor tutorial.sql berikut di phpmyadmin:

- phpMyAdmin SQL Dump
- versi 5.0.1
- https://www.phpmyadmin.net/
-
- Tuan rumah: 127.0.0.1
- Waktu pembuatan: 21 Apr 2020, 09.46
- Versi server: 10.4.11-MariaDB
- Versi PHP: 7.4.1

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
MULAI TRANSAKSI;
SETEL zona_waktu = "+00: 00";


/ *! 40101 SET @OLD_CHARACTER_SET_CLIENT = @@ CHARACTER_SET_CLIENT * /;
/ *! 40101 SET @OLD_CHARACTER_SET_RESULTS = @@ CHARACTER_SET_RESULTS * /;
/ *! 40101 SET @OLD_COLLATION_CONNECTION = @@ COLLATION_CONNECTION * /;
/ *! 40101 SET NAMA utf8mb4 * /;

-
- Basis data: `tutorial`
-

- ------------------------------------------------ - -------


-
- Struktur tabel `pengguna`
-

BUAT TABEL `pengguna` (
  `user_id` int (11) BUKAN NULL,
  `user_name` varchar (100) BUKAN NULL,
  `user_contact` varchar (15) BUKAN NULL,
  varchar `user_address` (255) NOT NULL,
  `user_foto` varchar (255) BUKAN NULL
) MESIN = CHARSET DEFAULT InnoDB = utf8mb4;

-
- Indeks untuk tabel yang dibuang
-


-
- Indeks untuk tabel `pengguna`
-
ALTER TABLE `user`
  TAMBAHKAN KUNCI UTAMA (`user_id`);

-
- AUTO_INCREMENT untuk tabel yang dibuang
-
-
- AUTO_INCREMENT untuk tabel `user`
-
ALTER TABLE `user`
  MODIFIKASI `user_id` int (11) BUKAN NULL AUTO_INCREMENT;
MELAKUKAN;

/ *! 40101 SET CHARACTER_SET_CLIENT = @ OLD_CHARACTER_SET_CLIENT * /;
/ *! 40101 SET CHARACTER_SET_RESULTS = @ OLD_CHARACTER_SET_RESULTS * /;
/ *! 40101 SET COLLATION_CONNECTION = @ OLD_COLLATION_CONNECTION * /;

Koneksi databse dengan PHP

Setelah langkah pembuatan database selesai, langkah selanjutnya adalah membuat koneksi antara database dan php. Disini saya akan memberikan nama filenya connection.php

Rasanya saya tidak perlu menjelaskan lebih detail bagaimana cara membuat koneksi, karena sudah kita bahas khusus pada materi sebelumnya disini.

Buat Formulir File Input

Langkah ketiga adalah membuat form input, form ini dimaksudkan untuk menginput file ke dalam database. Di file input ini, saya beri nama user_tambah.php




	www.malasngoding.com - Unggah file menggunakan php mysqli
	
	
	


	

Tambahkan Data Karyawan

Ekstensi yang diizinkan .png | .jpg | .jpeg | .gif

Dalam pembuatan form ini saya menggunakan bostrap 4 librabry supaya tampilannya sedikit lebih bagus hehe. Di baris 12, ketuk

Saya menggunakan file dengan nama user_act.php dengan metode post dalam mengirimkan data. Ekstensi gambar yang diperbolehkan yaitu png, jpg, jpeg, dan gif, Anda bisa lihat di baris 28.


Cuplikan dari perintah pada baris 12 ini dapat dilihat bahwa terdapat fungsi enctype yaitu atribut yang berperan dalam menentukan bagaimana data formulir dikirim ke server dan jenis formulirnya.

Buat Tindakan Masukan File

Langkah 4 kita akan membuat file action untuk memproses input gambar, disini saya akan beri nama user_act.php . File ini akan berisi perintah untuk mengolah data yang kita input dari form ke dalam database. Untuk petunjuknya, silakan lihat kode berikut:

<? php
sertakan & # 39; connection.php & # 39 ;;
$ nama = $ _POST['nama'];
$ contact = $ _POST['kontak'];
$ address = $ _POST['alamat'];

$ rand = rand ();
$ extension = array (& # 39; png & # 39 ;, & # 39; jpg & # 39 ;, & # 39; jpeg & # 39 ;, & # 39; gif & # 39;);
$ filename = $ _FILES['foto']['name'];
$ size = $ _FILES['foto']['size'];
$ ext = pathinfo ($ nama file, PATHINFO_EXTENSION);

if (! in_array ($ ext, $ extension)) {
header ("location: index.php? alert = extension_fail");
} lain {
if ($ size <1044070) {
$ xx = $ rand. & # 39; _ & # 39 ;. $ filename;
move_uploaded_file ($ _ FILES['foto']['tmp_name'], & # 39; gambar /&#39;.$ rand. & # 39; _ & # 39 ;. $ filename);
mysqli_query ($ connection, "INSERT INTO user VALUES (NULL, & # 39; $ name & # 39 ;, & # 39; $ contact & # 39 ;, & # 39; $ address & # 39 ;, & # 39; $ xx & # 39;) ");
header ("location: index.php? alert = sukses");
} lain {
header ("location: index.php? alert = crow_size");
}
}

Dari potongan kode di atas adalah file tindakan dari formulir yang telah kita buat sebelumnya. Pertama-tama kita harus menyertakan file connection.php yang menghubungkan database dengan sistem yang dibuat menggunakan PHP. Sedangkan baris 3 sampai 5 berfungsi untuk menangkap data yang dikirim menggunakan metode post dari form sebelumnya.

$ rand = rand ();
$ extension = array (& # 39; png & # 39 ;, & # 39; jpg & # 39 ;, & # 39; jpeg & # 39 ;, & # 39; gif & # 39;);
$ filename = $ _FILES['foto']['name'];
$ size = $ _FILES['foto']['size'];
$ ext = pathinfo ($ nama file, PATHINFO_EXTENSION);

Lihat kode di atas, fungsi rand () ada di sini untuk mengacak angka. Fungsinya disini untuk memberikan bilangan random untuk nama file image sehingga ketika ada image dengan nama bisa dibedakan dengan bilangan random ketika diinput nanti. Misalnya my profile.png ketika 001298_profil_saya.png.

Sedangkan variabel $ extension disini saya menyimpan extension yang diperbolehkan saat mengupload file. Seperti yang saya katakan sebelumnya, kami membutuhkan ekstensi yang diizinkan saat mengunggah file.

$ filename merupakan variabel yang menyimpan nama file yang telah diinput sebelumnya. Sedangkan $ ext adalah variabel yang di sini kita akan memeriksa ekstensi yang diunggah.

if (! in_array ($ ext, $ extension)) {
header ("location: index.php? alert = extension_fail");
} lain {
if ($ size <1044070) {
$ xx = $ rand. & # 39; _ & # 39 ;. $ filename;
move_uploaded_file ($ _ FILES['foto']['tmp_name'], & # 39; gambar /&#39;.$ rand. & # 39; _ & # 39 ;. $ filename);
mysqli_query ($ connection, "INSERT INTO user VALUES (NULL, & # 39; $ name & # 39 ;, & # 39; $ contact & # 39 ;, & # 39; $ address & # 39 ;, & # 39; $ xx & # 39;) ");
header ("location: index.php? alert = sukses");
} lain {
header ("location: index.php? alert = crow_size");
}
}

Pada baris 13, seperti kode di atas, kami memeriksa dulu ekstensi yang diizinkan dan ekstensi file yang kami unggah. Untuk memeriksa di sini kami menggunakan fungsi in_array, ! in_array di sini artinya jika nilai ekstensi yang diizinkan dan ekstensi gambar tidak sama, itu akan dialihkan ke halaman index.php dengan peringatan kegagalan ekstensi.

Sedangkan jika ekstensi file masukan termasuk dalam ekstensi yang diizinkan, maka akan disimpan di database. $ xx = $ rand. & # 39; _ & # 39 ;. $ filename adalah variabel yang menyimpan nama file dan memasukkan nomor acak sebelum nama file.

move_uploaded_file adalah fungsi php untuk mengupload file, disini kita akan mengupload file foto ke dalam folder gambar diikuti dengan nama file yang telah diacak.

Untuk menampilkan form upload dapat dilihat pada gambar berikut:

Unggah File Menggunakan PHP dan MySQLi

Unggah tampilan formulir

Menampilkan Hasil Input

Oke yang terakhir akan kita tampilkan hasil form yang kita masukkan tadi. Disini nama file index.php untuk kodenya bisa dilihat sebagai berikut:





	www.malasngoding.com - Unggah file menggunakan php mysqli
	
	
	
	
	
	


	

Data Data Pengguna


Peringatan !

Ekstensi Tidak Diizinkan

Peringatan !

Ukuran File terlalu Besar

Keberhasilan

Berhasil disimpan

Tambahkan Data

Nama Kontak Alamat Foto
<img src = "image /"width =" 35 "height =" 40 ">

Untuk kode ini saya rasa tidak perlu dijelaskan lebih lanjut, sudah kita bahas sebelumnya pada tutorial menampilkan data php dan mysqli. Berikut adalah hasil dari kode di atas:

Unggah File Menggunakan PHP dan MySQLi

Unggah File Menggunakan PHP dan MySQLi

Sekian materi kali ini Upload File Menggunakan PHP dan MySQLi, bagi sobat yang ingin mendownload source code nya bisa di link berikut:

UNDUH KODE SUMBER

Istilah pencarian masuk:

  • opload php malas

Posting File Upload Menggunakan PHP dan MySQLi muncul pertama kali di Lazy Ngoding.

Baca:  Menampilkan Data Daerah Indonesia PHP MySQLi Ajax