Membuat Upload File / Image PHP

By , July 22, 2015,

Membuat Upload File / Image PHP. Ketemu lagi dengan sistemphp.com Uda beberapa hari tidak menulis artikel. Kali ini sembari sedang mengerjakan proyek-proyek sistem yang ada saya sempatkan untuk menulis dan sharing tentang tutorial membuat upload file di php. Menggunakan php sebagai proses penyimpananya. Mengunggah gambar menggunakan php mysql adalah tips dan trik kali ini.

Saya sedang mengerjakan projek sistem promosi daerah dan disalah satu prosesnya menggunakan upload file dalam hal ini gambar. Maka dari itu saya sharing buat teman-teman semua yang belum tau cara buatnya. Script php upload file atau image ini Saya pelajari dari salah satu script cms anak bangsa.  Proses yang terjadi pada upload file saya yaitu itu melarang user mengunggah selain file berekstensi jpg,png,gif,jpeg. Karena memang yang dibutuhkan hanya format gambar diatas. Selanjutnya gambar yang di upload disimpan kedalam database dan file gambar atau imagenya di masukkan kedalam folder server yang telah di tentukan. Satu lagi yang hampir ketinggalan, ketika mengupload gambar atau image saya mengcopynya menjadi dua gambar, maksudnya satu file yang di upload namun menjadi 2 gambar yang tersimpan. Gambar pertama adalah gambar asli, dan gambar kedua adalah gambar yang sudah di di kompres menjadi ukuran yang kecil.

Membuat Upload File / Image PHP

Pada projek saya script php ini saya gunakan untuk mengunggah gambar iklan. Contoh koding script php yang saya gunakan untuk mengupload gambar kedalam server sebagai berikut.

Contoh form upload file PHP + MYSQL + HTML


<form method="post" action="modul/iklan/aksi_iklan.php?aksi=insert" enctype="multipart/form-data">
 <table> ';
 $tampil = "SELECT * FROM member WHERE id_member='$_SESSION[id_member]'";
 $sql = mysql_query($tampil);
 $data = mysql_fetch_array($sql);
 echo "
 <tr>
 <td>Judul Iklan </td>
 <td height='40'><input type='text' name='judul' class='form-control' size='70'/></td>
 </tr>
 <tr>
 <td>Kategori</td>
 <td height='40'>
 <select name='id_kategori' class='form-control'>
 <option>--Pilih--</option>";
 $i=0;
 $tampil = "SELECT * FROM kategori";
 $sql = mysql_query($tampil);
 while($data = mysql_fetch_array($sql))
 {$i++;
 echo "<option value='".$data[id_kategori]."'>$data[kategori]</option>";
 }

 echo "</select>
 </td>
 </tr>
 <tr>
 <td>Harga</td>
 <td height='40'><input type='text' name='harga' class='form-control' /></td>
 </tr>
 <tr>
 <td>Kondisi</td>
 <td height='40'><select name='kondisi' class='form-control'>
 <option value='pilih'>--Pilih--</option>
 <option value='baru'>Baru</option>
 <option value='bekas'>Bekas</option>
 </select></td>
 </tr>
 <tr>
 <td>Deskripsi Iklan</td>
 <td height='70'><textarea name='deskripsi' class='form-control'></textarea></td>
 </tr>
 <tr>
 <td>Upload Foto</td>
 <td height='40'><input type='file' name='fupload' class='btn btn-outline btn-success' ></td>
 </tr>
 <tr>
 <input type='hidden' value='".$_SESSION[id_member]."' name='id_member' />
 <input type='hidden' value='".date('Y-m-d')."' name='tgl_iklan' />
 <td height='60'></td><td><input type='submit' name='Pasang' value='Pasang' class='btn btn-success'/></td></tr>
 </table>
 </form>

Penjelasan script upload file/image html:

Saya memanfaatkan tabel kategori untuk menampilkan kategori iklan secara otomatis muncul. Kemudian terdapat kombinasi script fungsi session yang saya gunakan. Yang mana guna dari pemanggilan session user pada script diatas adalah untuk mengidentifikasi user yang memasang iklan. Untuk selebihnya script form html biasa. Untuk action dari form diatas saya arahkan ke modul iklan pada aksi_iklan php.

Proses upload php:

Untuk memprosesnya berikut ini script yang berfungsi untuk unggah gambar ke dalam database yang berada pada modul iklan file aksi_iklan.php saya:


<?php
include '../../config/koneksi.php';
switch ($_GET['aksi']){

case "insert":

 $lokasi_file = $_FILES['fupload']['tmp_name'];
 $tipe_file = $_FILES['fupload']['type'];
 $nama_file = $_FILES['fupload']['name'];
 $acak = rand(000000,999999);
 $nama_file_unik = $acak.'-'.$nama_file;
 // Upload gambar untuk galeri foto
 function UploadGallery($fupload_name){
 //direktori gambar
 $vdir_upload = "../../img_iklan/";
 $vfile_upload = $vdir_upload . $fupload_name;

//Simpan gambar dalam ukuran sebenarnya
 move_uploaded_file($_FILES["fupload"]["tmp_name"], $vfile_upload);

//identitas file asli
 $im_src = imagecreatefromjpeg($vfile_upload);
 $src_width = imageSX($im_src);
 $src_height = imageSY($im_src);

//Simpan dalam versi small 100 pixel
 //Set ukuran gambar hasil perubahan
 $dst_width = 100;
 $dst_height = ($dst_width/$src_width)*$src_height;

//proses perubahan ukuran
 $im = imagecreatetruecolor($dst_width,$dst_height);
 imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);

//Simpan gambar
 imagejpeg($im,$vdir_upload . "kecil_" . $fupload_name);

 //Hapus gambar di memori komputer
 imagedestroy($im_src);
 imagedestroy($im);
 }

 // Apabila ada gambar yang diupload
 if (!empty($lokasi_file)){
 if ($tipe_file != "image/jpeg" AND $tipe_file != "image/pjpeg" AND $tipe_file != "image/png" AND $tipe_file != "image/gif" AND $tipe_file != "image/jpg"){
 echo "<script>window.alert('Upload Gagal, Pastikan File yang di Upload bertipe *.JPG');
 window.location=('/iklan/?modul=pasang')</script>";
 }
 else{
 UploadGallery($nama_file_unik);
 mysql_query("INSERT INTO iklan(judul_iklan,
 deskripsi,
 kondisi,
 harga,
 gambar,
 tanggal_iklan,
 id_kategori,
 id_member)
 VALUES('$_POST[judul]',
 '$_POST[deskripsi]',
 '$_POST[kondisi]',
 '$_POST[harga]',
 '$nama_file_unik',
 '$_POST[tgl_iklan]',
 '$_POST[id_kategori]',
 '$_POST[id_member]')");
 header('location:/iklan/');
 }
 }
 else{
 mysql_query("INSERT INTO iklan(judul_iklan,
 deskripsi,
 kondisi,
 harga,
 gambar,
 tanggal_iklan,
 id_kategori,
 id_member)
 VALUES('$_POST[judul]',
 '$_POST[deskripsi]',
 '$_POST[kondisi]',
 '$_POST[harga]',
 '$nama_file_unik',
 '$_POST[tgl_iklan]',
 '$_POST[id_kategori]',
 '$_POST[id_member]')");

 header('location:/iklan/');
 }
 break;

}
?>

Penjelasan script proses upload:

Pada script diatas saya menggunakan switch untuk memilih proses. Kadang sebagian programmer ada juga menggunakan if itu terserah masing-masing saja. Proses yang terjadi pada script diatas adalah user mengupload gambar, kemudian gambar di identifikasi dan diletakkan di penyipanan sementara. Identifikasi yang terjadi yaitu nama file, jenis file ukuran. Untuk selanjutnya dilakukan pengecekkan apakah gambar dengan nama seperti yang di unggah sudah ada atau belum. Jika belum proses akan mengupload file gambar. Namun jika sudah, proses akan membuatkan random angkah  untuk menambhakannya di depan nama file untuk pembeda. Oke langkah selanjutnya yaitu memasukkan kedalam database.

Tampilah hasil upload php

contoh-form-upload

Contoh form upload

folder-server-penyimpanan-file-gambar

Folder server penyimpan file upload

Tabel database upload

Tabel database upload

Demikiah sharing artikel upload file. lain kali mungkin akan share artikel bertema sejenis misalnya: upload mp3, upload video, upload dokumen dan masih banyak lagi. Salam.

Postingan berikutnya

  1. Contoh erd upload foto
  2. contoh coding upload image
  3. download script uploud file dengan iklan
  4. Form biodata upload foto php
  5. script upload gambar menggunakan cms

Leave a Reply

Your email address will not be published. Required fields are marked *