Panduan Upload Gambar Dan Menampilkannya dengan Script PHP

Upload Gambar Dan Menampilkannya dengan PHP, Belum lama ini ada teman yang bertanya bagaimana memasukan ( upload ) gambar dan memanggilnya kembali pada pemrograman PHP. Selama ini dia menyimpan gambar pada database MySQL yang tipe data Blob. Maklum dahulu dia melakukan hal yang sama di pemrograman Delphi.


Kini saya mencoba untuk menjelaskan semampu saya bagaimana teknik upload gambar dengan PHP dan memanggilnya kembali. Sebelumnya saya pernah membahas mengenai proses upload file dengan PHP. Sebenarnya hampir sama, Cuma sekarang yang kita upload adalah file gambar dan kita mesti panggil kembali gambar tersebut.


Oke langsung saja ya, sebelumnya kita buat dahulu databasenya.


CREATE TABLE `buat_blog`.`dtImage` (
`id_image` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nama_image` VARCHAR( 30 ) NOT NULL 
) ENGINE = InnoDB 

dan seperti ini tampilan databases nya




Lalu sekarang kita buat folder baru di htdocs untuk folder latihan ini dengan nama teknik_upload_image. Lalu pada folder teknik_upload_image, buat lagi folder dengan nama "image" (tanpa tanda kutip) . Folder image digunakan untuk tempat menyimpan file gambar yang telah kita upload.


Bila sudah buat 4 file yaitu index.php, proses_upload.php,view_image.php, fungsi_koneksi.php





Sekarang kita buat form untuk mengupload gambar pada file index.php. Berikut adalah sourcecodenya :

<html>
<head>
<title>Teknik Upload Gambar</title>
</head>
<form enctype="multipart/form-data" method="post" action="proses_upload.php">
<table align="center" border="0">
 <tr>
  <td colspan="2" align="center">Teknik Upload Gambar</td>
 </tr>
 <tr>
  <td>Silahkan Tekan Tombol Browse Untuk mencari file yang ingin diupload</td>
 </tr>
 <tr>
  <td colspan="2" align="center"><input type="file" name="adiputra"></td>
  <td></td>
 </tr>
 <tr>
  <td><input type="submit" name="tombol" value="Upload !"></td>
  </tr>
</table>
<body>
</body>
</html>


Bila sudah sekarang kita buat code untuk koneksi ke database pada file fungsi_koneksi.php. Sengaja dibuat fungsi file terpisah agar praktis tinggal panggil nantinya. Berikut listing kodenya :

<?php
  function koneksi_db(){
 $host = "localhost";
 $user = "root";
 $pass = "adi";
 $db   = "buat_blog";
 
 $link = mysql_connect($host,$user,$pass);
 
 mysql_select_db($db,$link);
 
 if (!$link) {
   echo "error : ".mysql_error();
 }
 
 return $link;
  }
?>



Code diatas hanya melakukan koneksi ke database, lalu hasilnya akan dikeluarkan apakah berhasil atau tidak dilihat dari variable $link.


Lalu sekarang kita buat proses uploadnya pada file proses_upload.php.

<?php
  // code A
  include("fungsi_koneksi.php");
  // end of code A
  
  // code B
  $lokasi_file = $_FILES['adiputra']['tmp_name'];
  $tipe_file   = $_FILES['adiputra']['type'];
  $nama_file   = $_FILES['adiputra']['name'];
  $direktori   = "image/$nama_file";
  // end of code B
  
  if (!empty($lokasi_file)) {
 move_uploaded_file($lokasi_file,$direktori); 
  
    // code C
    $koneksi = koneksi_db();
    $sql = "insert into dtimage values (null,'$nama_file')";
    $aksi = mysql_query($sql,$koneksi);
    // end of code C
 
 // code D
 if (!$aksi) {
 echo "maaf gagal memasukan gambar";
   }else{
  echo "gambar berhasil di upload<br>";
  echo "untuk melihatnya silakan klik <a href='view_image.php'>Link ini</a>";
   }
 // end of code D
 
  }else{
 echo "terjadi kesalahan";  
  }
  
  
  
?>



Penjelasan Code pada file proses_upload.php :
Code A : code untuk mengikutsertakan file fungsi_koneksi.php ke dalam file proses_upload.php dimana pada file proses_upload.php kita melakukan proses koneksi ke database.
Code B : Proses Setting Operasi Upload, keterangan lebih jelas bisa dilihat pada artikel ini.
Code C : Proses koneksi ke database.
Code D : hanya proses validasi apabila koneksi ke database terjadi kegagalan.


Bila sudah, sekarang kita buat untuk view gambar yang telah kita upload. Buka file view_image.php, lalu copy paste code dibawah ini.


<?php
  
  include("fungsi_koneksi.php");
  
  
  $koneksi = koneksi_db();
  $sql  = "select * from dtimage";
  $aksi = mysql_query($sql,$koneksi);
  
  echo "<table align='center' border='1'>
        <tr>
        <td>No</td>
        <td>Gambar</td>
      </tr>";
  
  $no = 1;
  while($data = mysql_fetch_array($aksi)):?>
  <tr>
      <td>
       <?php echo $no; ?>
      </td>
      <td>
       <center>
         <img src="image/<?php echo $data['nama_image']; ?>" border="0"/> 
       </center>
      </td>
     </tr>
  <?php 
  $no++;
  endwhile;
  ?>
  </table>
  <br /><center><a href="index.php">Upload lagi</a></center>



Yang paling penting dari code view_image.php adalah proses menampilkan gambar. Gambar ditampilkan dengan perintah


<img src="image/<?php echo $data['nama_image']; ?>" border="0"/> 



lalu memanggil nama file pada nama file yang telah kita masukan ke database pada proses file proses_upload.php.


<?php echo $data['nama_image']; ?>


sampai sini, semoga dimengerti. Sangat sederhana bukan, pada artikel berikutnya saya akan membahas validasi file yang akan diupload insyAllah.

semua file dapat di download di SINI


Moga bermanfaat yang bingung cara menampilkan gambar dari gambar yang kita upload dengan bahasa PHP.

12 komentar:

  1. Thank's bangett yahh ...!!!

    tutorial upload foto dan tampilkan dengan php ini sangat berguna sekali buat saya yang masih pemula ..!!

    BalasHapus
  2. good, langsung bisa jalan, cuman di file gak ada sqlnya

    BalasHapus
  3. maaf yak, ku coba kog dianya ga keluar link bwt liat gambarnya ya???
    tapi udah on smua lho database dan file php komplit
    upload berhasil masuk ke folder cuman ga tampil di web nya..
    mohon bantuannya yak

    BalasHapus
  4. bagus bnget kak n brmanfaat skliiiiiiiiiiiiiiiiiiiiiiiiii........................

    BalasHapus
  5. terimakasih....makasih byak...ni membantu wat aku nyelesain project aku.......

    BalasHapus
  6. saya rencana membuat blog yang salah satunya menampilkan form upload image,nomer telepon ,alamat serta nama yang diperuntukan bagi pengunjung blog saya nantinya,seperti website toko bagus. Yang saya tanyakan,karena saya masih menggunakan blogspot dan grtaisan,bisakah agar semua yang di upload oleh pengunjung blog saya masuk kedalam alamat email saya?
    kalo bisa bagaimana membuat sriptnya secara keseluruhan?. istilahnya tinggal pakai sriptnya,karena saya kurang mengerti tentang pemograman ini.
    ditunggu jawabanya

    BalasHapus
  7. Maaf kalo cara update atau mengganti gambar untuk id tertentu misalnya, bagaimana ya?

    BalasHapus

Diberdayakan oleh Blogger.