Membuat Form Upload File dengan PHP
Pada tutorial ini kita akan mempelajari cara membuat form upload file dengan PHP, terkadang kita membuat aplikasi web membutuhkan file untuk di upload, bisa berupa file dokumen maupun gambar, pada tutorial ini penting untuk dipelajari sebagai bagian dari dasar-dasar PHP untuk melengkapi tutorial sebelumnya yang telah kita pelajari yakni tentang pemprosesan form dengan PHP terkait dengan menampilkan database, input data, serta update dan delete.
Fungsi variabe yang dibutuhkan didalam membuat upload file yankni variabel global ( $_FILE ) digunakan untuk mengupload file, dan juga kita menambahkan kode HTML dengan atribut ( enctype=”multipart/form-data” ) pada tag form yang menginformasikan kepada server bahwa data yang dikirim tidak hanya berupa teks tetapi juga kemungkinan terdapat file.
Sebelum kita membuat form upload file, kita buat terlebih dahulu database file, pada database file ini saya masukan di database kita menggunakan database mahasiswa seperti pada tutorial sebelumnya, berikut databasenya file dapat didownload disini.
Pertama-tama buat folder pada index dengan nama ( file ) dimana pada direktori dengan nama file ini gambar yang kita upload akan kita tampung.

Dari tampilan direktori diatas terlihat lokasi tempat penyimanan file pada direktori ilmuweb/file, tinggal disesuaikan dengan seting masing-masing
Jangan lupa untuk buat file koneksi.php untuk menghubungkan php dengan databse Mysql disini saya masih menggunakan database mahasiswa seperti pada tutorial sebelumnya disini saya menambahkan tabel file untuk menampung daftar nama file yang akan diupload.
koneksi.php
<?php
// buat koneksi dengan database mysql
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "mahasiswa";
$koneksi = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
//periksa koneksi, tampilkan pesan kesalahan jika gagal
if(!$koneksi){
die ("Koneksi database gagal: ".mysqli_connect_errno().
" - ".mysqli_connect_error());
}
?>
Selanjutnya untuk mempermudah kita buat dua file yang pertama form untuk upload file dan proses upload, dan berikut contoh form upload :

Berikut kode program form upload diatas kita beri nama upload.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Belajar Cara Upload file dengan PHP</title>
</head>
<body>
<h1>Form Upload File</h1>
<form action="prosesupload.php" method="post" enctype="multipart/form-data">
<p>Upload File: <input type="file" name="file"></p>
<input type="submit" name="upload" value="upload">
</form>
</body>
</html>
Pada kode php diatas adalah kode untuk form upload, alur proses programnya adalah pertama setelah kita memilih file gambar kemudian kita tekan tombol upload, maka akan menuju file prosesupload.php yang akan memproses gambar dan dikirim ke database, berikut kode proses upload ke server :
prosesupload.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Upload File Dengan PHP</title>
</head>
<body>
<h1>Membuat Form Upload File Dengan PHP</h1>
<?php
include 'koneksi.php';
if($_POST['upload']){
$ekstensi_diperboleh = array('png','jpg');
$nama = $_FILES['file']['name'];
$x = explode('.', $nama);
$ekstensi = strtolower(end($x));
$ukuran = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
if(in_array($ekstensi, $ekstensi_diperboleh) === true){
if($ukuran < 1044070){
move_uploaded_file($file_tmp, 'file/'.$nama);
$query="insert into file set id='', nama_file='$nama'";
$insert = mysqli_query($koneksi, $query);
if($insert){
echo 'File Sukses di Upload';
}else{
echo 'Gagal Mengupload File';
}
}else{
echo 'Ukuran File Terlalu Besar';
}
}else{
echo 'Eksetensi File Tidak Diperbolehkan';
}
}
?>
<br/>
<br/>
<a href="upload.php">Upload Lagi</a>
<br/>
<br/>
<table>
<?php
$query="select * from file";
$hasil = mysqli_query($koneksi, $query);
while($data = mysqli_fetch_array($hasil)){
?>
<tr>
<td>
<img src="<?php echo "file/".$data['nama_file']; ?>" width="500" height="500">
</td>
</tr>
<?php } ?>
</table>
</body>
</html>
Pada kode diatas terdapat beberapa kondisi yang kita batasi didalam mengirim file gambar yakni ekstensi yang diperbolehkan diupload (png dan jpg) dan ukuran file tidak melebihi 1Mb.
Diakhir kode program diatas terdapat perintah query database (select * from file ) untuk menampilkan gambar yang telah diupload, dengan dibatasi dengan ukuran panjang dan lebar 500pixel.
Selanjutnya apabila kondisi terpenuhi maka gambar sukses di upload maka akan langsung menampilkan gambar yang kita upload sebelumnya.

Selanjutnya pada direktori yang telah saya buat didalam direktori ilmuweb/ file terlihat file yang telah berhasil di upload :

Demikian tutorial membuat form upload file dengan php semoga manfaat, jangan lupa ya ikuti terus blog ini pada tutorial berikutnya akan disajikan tulisan yang tidak kalah menariknya, salam sukses penuh keberkahan.