Artikel tentang upload file sudah kita pelajari pada postingan blog yang sebelumnya. Untuk upload file sayangnya hanya dapat melakukan satu berkas file, lantas bagaimana caranya agar kita dapat melakukan upload file lebih dari satu berkas. So mari kita coba tutorial berikut.
Buatlah file diantaranya, sebagai berikut:
1. index.php
2. koneksi.php
3. upload.php
4. tampil.php
5. database
Yang pertama kita lakukan adalah dengan membuat file koneksi.php beserta databasenya. Kemudian lanjutkan dengan pembuatan file index.php dan arahkan ke file proses yaitu upload.php, setelah ini kalian juga bisa membuat file untuk melihat hasil file yang sudah kita upload dengan membuat file tampil.php
File index.php
<!DOCTYPE html> <html> <head> <title>Multiple Upload PHP</title> </head> <body> <form action="upload.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file_array[]"><br> <input type="file" name="file_array[]"><br> <input type="file" name="file_array[]"><br> <input type="submit" value="Upload All" name="submit"> </form> </body> </html>
File koneksi.php
<?php $server = "localhost"; $user = "root"; $pass = ""; $db = "db_uploadmulti"; $koneksi = mysql_connect($server,$user,$pass) or die (mysql_error()); $select_db = mysql_select_db($db,$koneksi); ?>
File upload.php
<?php
include "koneksi.php";
if(isset($_POST['submit'])){
$nm_array = $_FILES['file_array']['name'];
$tmp_array = $_FILES['file_array']['tmp_name'];
$ty_array = $_FILES['file_array']['type'];
$sz_array = $_FILES['file_array']['size'];
$er_array = $_FILES['file_array']['error'];
for($i = 0; $i < count($nm_array); $i++){
if(move_uploaded_file($tmp_array[$i], "hasil-upload/".$nm_array[$i])){
echo $nm_array[$i]."Upload File Sukses!<br>";
$sql = "INSERT INTO tbl_file(file) VALUES('$nm_array[$i]')";
$query = mysql_query($sql) or die (mysql_error());
header("location: tampil.php");
} else {
echo "Gagal!".$nm_array[$i]."<br>";
}
}
}
?>
File tampil.php
<!DOCTYPE html>
<html>
<head>
<title>Multiple Upload</title>
</head>
<body>
<table border="1">
<thead>
<tr>
<th>No</th>
<th>File</th>
</tr>
</thead>
<tbody>
<?php
include "koneksi.php";
$sql = "SELECT * FROM tbl_file";
$query = mysql_query($sql) or die (mysql_error());
$no = 1;
while($data = mysql_fetch_array($query)){
$fl = $data["file"];
echo "<tr>
<td>$no</td>
<td><img src='hasil-upload/$fl' height='100' width='100'></td>
</tr>";
$no++;
}
?>
</tbody>
</table>
<a href="index.php">Tambah</a>
</body>
</html>
serta databasenya
-- phpMyAdmin SQL Dump -- version 4.5.1 -- http://www.phpmyadmin.net -- -- Host: 127.0.0.1 -- Generation Time: Sep 01, 2017 at 03:50 PM -- Server version: 10.1.13-MariaDB -- PHP Version: 5.6.23 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; 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 */; /*!40101 SET NAMES utf8mb4 */; -- -- Database: `db_uploadmulti` -- -- -------------------------------------------------------- -- -- Table structure for table `tbl_file` -- CREATE TABLE `tbl_file` ( `id` int(5) NOT NULL, `file` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Indexes for dumped tables -- -- -- Indexes for table `tbl_file` -- ALTER TABLE `tbl_file` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT for dumped tables -- -- -- AUTO_INCREMENT for table `tbl_file` -- ALTER TABLE `tbl_file` MODIFY `id` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=29; /*!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 */;
Buat teman-teman yang baru belajar PHP, mungkin cara ini sedikit berbeda dengan upload yang sebelumnya, karena cara ini digunakan disaat kita memiliki form upload lebih dari satu. Pada dasarnya sama saja hanya, disini kita menggunakan array[] untuk setiap variabelnya.
Jika berhasil, selamat untuk kalian karena kita memiliki pengetahuan tambahan mengenai upload file. Teman-teman tentunya dapat mengembangkan kembali sesuai dengan kebutuhan aplikasi web yang sedang di bangun.