Setiap mengunjungi sebuat website tentunya kita sering melihat gambar yang tampil misalnya gambar produk pada aplikasi website belanja online (e Commerce). Pertanyaannya, bagaimana cara upload gambar tsb.
Pada tutorial ini akan dibahas proses upload gambar dimulai dari metode upload, deteksi file gambar. Namun pada tutorial ini belum ada penjelasan bagaimana menyimpan file gambar ke dalam database.
Buatlah contoh program sederhana berikut ini, simpan dengan nama file uploadgambar.php
<?php
// 1. Cek apakah tombol simpan sudah diklik atau belum menggunakan fungsi isset(), jika bernilai true jalankan
if( isset($_POST["simpan"])){
// variable array debugging
//var_dump($_FILES["nmfile"]);
// Ambil data dari variable array assosiatif
$namaFile=$_FILES["nmfile"]["name"];
$ukuranFile=$_FILES["nmfile"]["size"];
$error=$_FILES["nmfile"]["error"];
$tmpName=$_FILES["nmfile"]["tmp_name"];
// Cek apakah sudah pilih file
if($error === 4){
echo "Silahkan pilih file";
}else{
//echo "Lanjutkan";
// File yang di pilih hanya file gambar
// Cek ekstensi file
$ekstensiGambarValid=["jpg","jpeg","png"];
// Pecah file menggunakan fungsi explode
// Contoh : usman.jpg maka akan di pecah menjadi ["usman","jpg"]
// Buktikan dengan debugging var_dump($ekstensiGambar)
$ekstensiGambar=explode(".", $namaFile);
//var_dump($ekstensiGambar);
//echo $ekstensiGambar[1]; [0] nama file, [1] ekstensi file
// Pastikan array terakhir dari susunan kata file yang di ambil
// gambar.usman.jpg <<< Pastikan ekstensi yang diambil jpg
// Gunakan fungsi end()
// Paksa ekstensi menjadi huruf kecil, php menggunakan metode case sensitif jadi JPG berbeda dengan jpg
// Gunakan fungsi string strtolower()
$ekstensiGambar=strtolower(end($ekstensiGambar));
// Cek apakah ekstensi file yang dipilih ditemukan pada array ekstensi yang diijinkan
// Gunakan fungsi in_array
if ( !in_array($ekstensiGambar , $ekstensiGambarValid)){
echo "File bukan gambar";
}else{
// echo "gambar";
// Jika file gambar pindahkan direktori
$pindahFolder = move_uploaded_file($tmpName,'img/'.$namaFile);
if ($pindahFolder){
echo "File Gambar berhasil dipindah";
}else{
echo "File Gambar gagal dipindah";
}
}
}
}else{
echo "Tombol simpan belum diklik";
}
?>
<!DOCTYPE>
<html>
<title>Manipulasi File dalam PHP</title>
<style>
label{
display:block;
margin-bottom:5px;
}
input{
display:block;
margin-bottom:10px;
}
textarea{
display:block;
margin-bottom:10px;
}
</style>
<body>
<h1>Upload Gambar</h1>
<form action="" method="post" enctype="multipart/form-data">
<label>Pilih File Gambar</label>
<input type="file" name="nmfile" size="30">
<button type="submit" name="simpan" id="simpan">Simpan File</button>
</form>
</body>
</html>
Begitu dijalankan akan menampilkan seperti berikut di browser

Selamat mencoba ;