Multiple Upload Gambar Dengan PHP MySQLi

Multiple Upload Gambar Dengan PHP MySQLi

Beberapa Unggahan Gambar dengan PHP MySQLi – Halo, selamat datang kembali di seri tutorial PHP lengkap tentang pengkodean malas. Pada kesempatan kali ini kita akan membahas cara mengupload banyak gambar menggunakan php mysqli.

Pada artikel sebelumnya kita telah membahas cara mengupload file menggunakan php dan mysqli. Bedanya pada artikel ini dimana sebelumnya hanya satu file yang bisa diupload dalam satu form upload, namun kali ini kita akan membuat banyak file yang bisa diupload dalam satu form.

Beberapa Unggahan Gambar dengan PHP MySQLi

Upload banyak gambar adalah mengupload gambar dengan jumlah lebih dari satu, bisa dua, tiga dan seterusnya. Unggahan ganda sedikit berbeda dari unggahan file biasa. Perbedaannya dapat dilihat pada contoh yang akan dibahas di bawah ini.

Mempersiapkan Database

Pertama-tama siapkan database tempat kita akan menyimpan nama gambar nanti, disini saya membuat database dengan nama tutorial dan tabel yang digunakan untuk menyimpannya bernama gambar. Strukturnya dapat dilihat pada gambar berikut:

unggah banyak gambar php

Beberapa struktur database unggahan gambar

Atau Anda juga bisa mengimpor file tutorial.sql mengikuti di phpmyadmin:

Tutoria.sql

- phpMyAdmin SQL Dump
- versi 4.8.0
- https://www.phpmyadmin.net/
-
- Tuan rumah: 127.0.0.1
- Waktu Pembangkitan: 26 Apr 2020 pukul 16:42
- Versi server: 10.1.31-MariaDB
- Versi PHP: 5.6.35

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 untuk tabel `gambar`
-

BUAT `gambar` TABEL (
  `image_id` int (11) NOT NULL,
  `image_name` varchar (100) DEFAULT NULL
) ENGINE = InnoDB DEFAULT CHARSET = latin1;

-
- Indeks untuk tabel yang dibuang
-

-
- Indeks untuk tabel `gambar`
-
ALTER TABLE `image`
  TAMBAHKAN KUNCI UTAMA (`image_id`);

-
- AUTO_INCREMENT untuk tabel yang dibuang
-

-
- AUTO_INCREMENT untuk tabel `image`
-
ALTER TABLE `image`
  MODIFIKASI `image_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 * /;

Struktur proyek

Ada tiga file yang terlibat dalam pembuatan beberapa gambar unggahan, struktur proyek dapat dilihat pada gambar berikut:

Beberapa Unggahan Gambar dengan PHP MySQLi

Struktur proyek

Menyiapkan Koneksi PHP dengan Database

Langkah kedua adalah menyiapkan file koneksi yang menghubungkan database dengan php. Disini saya beri nama connection.php

connection.php

Buat formulir unggahan gambar

Langkah selanjutnya adalah menyiapkan formulir untuk mengunggah gambar. Pada form ini kita akan mengupload banyak gambar dan menyimpannya dalam database yang sudah kita siapkan sebelumnya. Untuk form upload disini saya buat di file index.php



	www.malasngoding.com - Unggah banyak file menggunakan php mysqli
	
	
	
	
	
	


	

UPLOAD MULTI FILE PHP

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

Tampilannya dapat dilihat pada gambar berikut:

  1. Unggah File Menggunakan PHP dan MySQLi
  2. Buat File Unggahan Dengan PHP dan MySQL
Beberapa Unggahan Gambar dengan PHP MySQLi

Unggah Formulir

Berikut adalah beberapa penjelasan penjelasan dari sintaks di atas:

Di sini kita akan membuat formulir menggunakan model post untuk meneruskan data, dan kita membutuhkan atribut enctype dengan nilai multipart / form-data. Enctype merupakan atribut yang berperan dalam menentukan data yang dikirim ke server, dan atribut ini hanya dapat digunakan jika menggunakan metode post. action = "process_act.php" adalah file tindakan yang digunakan untuk memproses data masukan.

  • <input type = "file": Disini kita akan membuat input type file, tipe file ini sebenarnya untuk umum, bisa berupa file gambar, dokumen dan lain sebagainya.
  • nama = ”foto[]Artinya sistem akan mengenali semua yang kita masukan bernama foto, sedangkan arti tanda kurung siku [] adalah data yang akan kita input dengan tipe array.
  • required = "required" adalah fungsi yang menunjukkan bahwa input ini tidak boleh dikosongkan.
    multiple yang menunjukkan jumlah file yang bisa kita input di input ini.

Sintaks lengkapnya adalah sebagai berikut:



	www.malasngoding.com - Unggah banyak file menggunakan php mysqli
	
	
	
	
	
	


	

UPLOAD MULTI FILE PHP

Peringatan! Ukuran File Terlalu Besar
Peringatan! Ekstensi Gambar Tidak Diizinkan
Keberhasilan! Gambar Berhasil Disimpan

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

Artikel berikut terkait dengan materi ini:

Buat file proses input data

Langkah terakhir kita akan membuat file action dimana file action ini berfungsi untuk mengolah data yang akan disimpan di database, serta file gambar yang akan diupload di direktori yang telah disediakan. Nama file tindakan ini harus cocok dengan action = "process_act.php" di tag formulir di atas.

<? php
sertakan & # 39; connection.php & # 39 ;;
$ batas = 10 * 1024 * 1024;
$ extension = array (& # 39; png & # 39 ;, & # 39; jpg & # 39 ;, & # 39; jpeg & # 39 ;, & # 39; gif & # 39;);
$ numberFiles = hitung ($ _ FILES['foto']['name']);

untuk ($ x = 0; $ x<$jumlahFile; $x++){
	$namafile = $_FILES['foto']['name'][$x];
	$tmp = $_FILES['foto']['tmp_name'][$x];
	$tipe_file = pathinfo($namafile, PATHINFO_EXTENSION);
	$ukuran = $_FILES['foto']['size'][$x];	
	if($ukuran > $ batas) {
header ("location: index.php? alert = fail_size");
} lain {
if (! in_array ($ file_type, $ extension)) {
header ("location: index.php? alert = fail_ektensi");
} lain {
move_uploaded_file ($ tmp, & # 39; file / & # 39 ;. tanggal (& # 39; d-m-Y & # 39;). & # 39; - & # 39 ;. $ namafile);
$ x = tanggal (& # 39; d-m-Y & # 39;). & # 39; - & # 39 ;. $ filename;
mysqli_query ($ connection, "INSERT INTO image VALUES (NULL, & # 39; $ x & # 39;)");
header ("location: index.php? alert = save");
}
}
}

$ batas = 10 * 1024 * 1024;

  • Variabel limit adalah variabel yang menyimpan ukuran data total 10 mb. Ini berfungsi untuk membatasi ukuran file yang bisa diupload nanti.
$ extension = array (& # 39; png & # 39 ;, & # 39; jpg & # 39 ;, & # 39; jpeg & # 39 ;, & # 39; gif & # 39;);

  • Variabel ekstensi ini menyimpan data ekstensi yang diizinkan. Ini juga berfungsi bagi kami untuk membatasi ekstensi yang dapat diunggah nanti.
$ numberFiles = hitung ($ _ FILES['foto']['name']);

  • Nomor variabel File ini adalah variabel yang menyimpan jumlah file yang diunggah pada formulir unggahan sebelumnya.

Karena file yang kami unggah memiliki beberapa file gambar, kami harus membuatnya dalam satu loop di mana saya menggunakan for loop.

untuk ($ x = 0; $ x <$ jumlah file; $ x ++)

  • $ x = 0, pertama kita inisialisasi $ x = 0, ini berarti array data pertama akan diinisialisasi ke 0.
  • $ x <$ jumlah file, variabel x kurang dari jumlah file. ini adalah batasan yang harus kita buat.
  • $ x ++, dimana jika batas belum tercapai atau nilai x masih kurang dari jumlah file, maka nilai x + 1.
$ filename = $ _FILES['foto']['name'][$x];
$ tmp = $ _FILES['foto']['tmp_name'][$x];
$ type_file = pathinfo ($ nama file, PATHINFO_EXTENSION);
$ size = $ _FILES['foto']['size'][$x];

Sintaks ini adalah identitas file gambar yang kita unggah. Dimana identitas yang dibutuhkan adalah nama, tipe file, ukuran. Sedangkan variabel tmp disini menyimpan sebuah fungsi dimana fungsi ini digunakan php untuk mengirim file ke web server.

if ($ size> $ limit)

Ini adalah perintah pemeriksaan yang memeriksa apakah ukuran file yang diunggah lebih besar dari batas (ukuran yang telah ditentukan). Kemudian perintah dalam pemeriksaan ini akan dijalankan.

if (! in_array ($ file_type, $ extension))

Ini adalah pemeriksaan di mana ekstensi diizinkan. Di sini artinya jika ekstensi dari file yang diunggah tidak sesuai dengan ekstensi yang diizinkan, perintah dalam pemeriksaan ini dijalankan.

move_uploaded_file ($ tmp, & # 39; file / & # 39 ;. tanggal (& # 39; d-m-Y & # 39;). & # 39; - & # 39 ;. $ namafile);

Artinya file gambar yang kita upload akan disimpan di folder "file /", dengan nama file yang digabungkan dengan tanggal dan nama file yang diupload.

Hasilnya bisa dilihat pada gambar berikut:

Beberapa Unggahan Gambar dengan PHP MySQLi
Beberapa Unggahan Gambar dengan PHP MySQLi
Beberapa Unggahan Gambar dengan PHP MySQLi

Oke sekian bahan untuk upload banyak gambar dengan mysqli php. Kami sangat membutuhkan kritik dan saran untuk perbaikan kedepannya. Terima kasih

Silakan unduh kode sumber di tautan berikut:
UNDUH

Istilah pencarian masuk:

  • unggah banyak gambar php
  • CARA MENGUNGGAH GAMBAR DAN JUDUL KE PHP
  • cara mengunggah beberapa foto php mysqli
  • simpan banyak gambar di phpmyadmin
  • banyak unggah php mysql

Posting Multiple Image Uploads With PHP MySQLi muncul pertama kali di Lazy Ngoding.

Baca:  Cara Membuat Pagination PHP MySQLI dan Boostrap 4