Hallo selamat datang kembali di seri tutorial lengkap PHP dari malasngoding. Pada kesempatan ini akan kita bahas bagaimana sih cara membuat multiple upload gambar dengan php mysqli.
Pada artikel sebelumnya pernah kita bahas cara upload file menggunakan php dan mysqli. Bedanya pada artikel kali ini dimana sebelumnya hanya satu file yang bisa di upload dalam satu form upload, namun kali ini kita akan membuat banyak file yang bisa di upload dalam satu form.
Multiple Upload Gambar Dengan PHP MySQLi
Multiple upload gambar adalah mengupload gambar dengan jumlah yang lebih dari satu, bisa dua, tiga dan seterusnya. Dalam multiple upload agak sedikit berbeda dengan upload file biasanya. Untuk perbedaannya bisa dilihat pada contoh yang akan di bahas di bawah.
Meyiapkan Database
Pertama-tama siapkan database tempat kita menyimpan nama gambar nantinya, disini saya membuat database dengan nama tutorial dan tabel yang digunakan untuk menyimpannya bernama gambar. Untuk strukturnya bisa dilihat di gambar berikut:
Struktur database multiple upload gambar
Atau bisa juga dengan mengimport file tutorial.sql berikut di phpmyadmin :
Tutoria.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
--phpMyAdmin SQL Dump
--version4.8.0
--https://www.phpmyadmin.net/
--
--Host:127.0.0.1
--Generation Time:Apr26,2020at04:42PM
--Server version:10.1.31-MariaDB
--PHP Version:5.6.35
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT=0;
START TRANSACTION;
SET time_zone="+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 */;
Langkah selanjutnya kita siapkan form untuk mengupload gambar. Dalam form ini nantinya akan kita upload banyak gambar dan kita simpan dalam database yang sudah kita siapkan sebelumnya. Untuk form upload disini saya buat dalam file index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<head>
<title>www.malasngoding.com-Upload multi file menggunakan php mysqli</title>
Disini kita akan membuat form dengan menggunakan model post untuk mengirim data, dan kita memerlukan atribut enctype dengan nilai multipart/form-data. Enctype merupakan atribut yang berperan dalam menentukan data yang dikirim ke server, dan atribut ini hanya bisa digunakan pada saat menggunakan method post. action=”proses_act.php” adalah file aksi yang digunakan untuk memproses data inputan.
<input type=”file” : Disini kita akan membuat inputan yang bertipe file, tipe file ini sebenarnya untuk umum, bisa berupa file gambar, dokument dan sebegainya.
name=”foto[]” ini maksudnya disini sistem akan mengenal semua yang kita input bernama foto, sedangkan maksud dari kurung siku [] adalah data nantinya kita input bertipe array.
required=”required” adalah suatu fungsi yang menandakan inputan ini tidak boleh dikosongkan.
multiple dimana menandakan banyak file yang bisa kita input didalam inputan ini.
Syntax lengkapnya sebegai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<html>
<head>
<title>www.malasngoding.com-Upload multi file menggunakan php mysqli</title>
Berikut artikel yang berkaitan dengan materi ini :
Membuat file proses input data
Langkah terakhir yaitu kita akan membuat sebuah file aksi dimana file aksi ini berfungsi untuk memproses data yang akan disimpan dalam database, serta file gambar yang akan di upload dalam direktori yang sudah disediakan. Nama file aksi ini harus sesuai dengan action=”proses_act.php” dalam tag form diatas.
mysqli_query($koneksi,"INSERT INTO gambar VALUES(NULL, '$x')");
header("location:index.php?alert=simpan");
}
}
}
1
$limit=10*1024*1024;
Variabel limit merupakan variabel yang menyimpan data total ukuran sebesar 10 mb. Ini berfungsi untuk membatasi ukuran file yang boleh di upload nantinya.
1
$ekstensi=array('png','jpg','jpeg','gif');
Variabel ekstensi ini menyimpan data ekstensi yang diperbolehkan. Ini juga berfungsi untuk kita batasi ekstensi yang bisa di upload nantinya.
1
$jumlahFile=count($_FILES['foto']['name']);
Variabel jumlahFile ini adalah variabel yang menyimpan jumlah file yang di upload pada form upload sebelumnya.
Oleh karena file yang kita upload ada beberapa file gambar, maka kita harus membuatnya dalam perulangan yang disini saya menggunakan perulangan for.
1
for($x=0;$x<$jumlahFile;$x++)
$x=0, pertama-tama kita ininsialkan dulu $x=0, ini maksudnya data yang pertama nanti akan diinisilkan array 0.
$x<$jumlahFile, variabel x kurang dari jumlahFile. ini merupakan batasan yang harus kita buat.
$x++, dimana jika batasan belum tercapai atau nilai x masih leih kurang dari jumlahFile maka nilai x+1.
Syntax ini merupakan identitas dari file gambar yang kita upload. Dimana identitas yang diperlukan ada nama, tipe file, ukuran. Sedangkan variabel tmpdisini menyimpan sebuah fungsi dimana fungsi ini php gunakan untuk mengirim file ke web server.
1
if($ukuran>$limit)
Merupakan perintah pengecekan dimana akan cek jika ukuran file yang diupload lebih besar dari limit (ukuran yang sudah ditetapkan). Maka perintah yang ada dalam pengecekan ini akan dijalankan.
1
if(!in_array($tipe_file,$ekstensi))
Merupakan pengecekan dimana ekstensi yang diperbolehkan. Disini maksudnya jika ekstensi dari file yang diupload tidak sesuai dengan ekstensi yang diperbolehkan maka perintah yang didalam pengecekan ini dijalankan.
Ini maksudnya adalah file gambar yang kita upload tadinya akan di simpan didalam folder “file/”, dengan nama file dikombinasikan antara tanggal dan nama file yang di upload.
Untuk hasilnya dapat dilihat pada gambar berikut :
Berhasil upload
Ukuran file terlalu besar
Upload yang tikda sesuai dengan ekstensi
Oke sekian dulu materi multiple upload gambar gengan php mysqli. Kritik dan saran sangat kami butuhkan untuk peningkatan kedepannya. Terima kasih
Silahkan Untuk mendownlad source code di link berikut : DOWNLOAD
Muzanni
Algorithms Learner, future lecturer and Happy to sharing about knowledge
Membuat Form Login Dengan PHP Tanpa Database – Form login adalah fitur yang sangat berguna dalam sebuah aplikasi atau website. Dengan adanya fitur form login, ...
Menghitung selisih waktu dengan PHP adalah hal yang penting untuk dikuasai. Kenapa begitu? Karena terkadang kita dihadapkan dengan kondisi dimana aplikasi yang sedang kita buat ...
Membuat crud menggunakan ajax php pada operasi hapus data pada database. Artikel ini lanjutan dari artikel sebelumnya mengenai bagaimana cara menginput data menggunakan ajax jquery. ...
Membuat crud menggunakan ajax php dalam operasi input data. Artikel ini dilanjutkan dari materi sebelumnya yang membahas bagaimana cara menampilkan data menggunakan ajax dan php. ...
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.