Cara upload gambar dengan php dan menyimpan kedalam database mysql

memasukan gambar ke dalam database mysqlAda dua cara dalam php agar kita bisa upload gambar dan memanggilnya kembali. Cara pertama dengan menyimpan objek gambarnya kedalam database  dan cara kedua adalah menyimpan objek gambar dalam folder dan menyimpan nama filenya didalam database mysql.

Masing-masing punya kekurangan dan kelebihanya diantaranya :

Cara pertama dengan menyimpan objek gambar dalam database :
Kelebihan : lebih praktis karena proses menyimpan langsung kedalam database
Kekurangan :

  1. Performa database lebih lambat dan ukuran database tentunya semakin besar
  2. Sulit untuk membackup fisik gambar karena gambar tersimpan dalam format database

Cara kedua dengan menyimpan objek gambar dalam folder dan menyimpan nama file dalam mysql :
Kelebihan : proses pembacaan file lebih cepat karena tersimpan dalam folder yang berada di server
Kekurangan : proses agak ribet karna harus mengambil alamat dan nama file terlebih dahulu dalam database dan kemudian mengaksesnya dalam folder

Saya pribadi lebih senang dengan cara kedua karena jika membackup database otomatis lebih kecil dan jika ingin membackup file gambarnya cukup dengan mengambil foldernya saja. Oleh karena itu saya akan membahas dengan cara kedua.

Langkah pertama kita siapkan databasenya dulu bisa seperti contoh berikut :

CREATE TABLE `tb_gambar` (`id` INT NOT  NULL  AUTO_INCREMENT  PRIMARY  KEY ,
 `judul_gambar` VARCHAR( 30  )  NOT  NULL ,
 `nama_file` VARCHAR( 50  )  NOT  NULL
) ENGINE = MYISAM ; 

Silahkan jalankan query diatas dalam database yang sudah anda buat.

Kemudian kita membuat form uploadnya, bisa disimpan dalam kirim-gambar.html :

<h2>Contoh Upload Gambar</h2>
<form action="upload.php" method="post" enctype="multipart/form-data" name="FUpload" id="FUpload">
  <p>Judul Gambar :
    <input name="judul_gambar" type="text" id="judul_gambar" size="30" maxlength="30" />
</p>
  <p>File Gambar :
    <input name="nama_file" type="file" id="nama_file" size="30" />
</p>
  <p><input type="submit" name="btnSimpan" id="btnSimpan" value="Simpan" /></p>
</form>

Jangan lupa form yang anda buat sudah menggunakan enctype="multipart/form-data". Anda bisa baca artikel saya tentang Cara Membuat form dengan HTML.

Setelah itu kita siapkan lagi sebuah file PHP dengan nama upload.php dengan kode seperti berikut :

<?php
$namafolder="gambar/"; //tempat menyimpan file
$con=mysql_connect("localhost","namauser","pass") or die("Gagal");
mysql_select_db("db_latihan")  or die("Gagal");
if (!empty($_FILES["nama_file"]["tmp_name"]))
{
    $jenis_gambar=$_FILES['nama_file']['type'];
    $judul_gambar=$_POST['judul_gambar'];
    if($jenis_gambar=="image/jpeg" || $jenis_gambar=="image/jpg" || $jenis_gambar=="image/gif" || $jenis_gambar=="image/x-png")
    {           
        $gambar = $namafolder . basename($_FILES['nama_file']['name']);       
        if (move_uploaded_file($_FILES['nama_file']['tmp_name'], $gambar)) {
            echo "Gambar berhasil dikirim ".$gambar;
            $sql="insert into table (judul_gambar,nama_file) values ('$judul_gambar','$gambar')";
            $res=mysql_query($sql) or die (mysql_error());
        } else {
           echo "Gambar gagal dikirim";
        }
   } else {
        echo "Jenis gambar yang anda kirim salah. Harus .jpg .gif .png";
   }
} else {
    echo "Anda belum memilih gambar";
}
?>

Catatan :

  1. Folder gambar dibuat satu folder dengan file kirim-gambar.html, upload.php
  2. Upload diatas hanya menyimpan file jenis jpg, gif, dan png
  3. Yang disimpan dalam mysql hanya judul gambar, nama folder dan nama file gambar saja

Contoh script lengkap bisa anda download disini

Jika menemui error, mungkin artikel saya tentang Masalah seputar upload file dengan php bisa membantu anda.

Bagaimana menampilkan gambar yang sudah disimpan dalam database mysql? Silahkan baca artikel Cara menampilkan gambar dari database mysql dengan php

Jika anda ingin melihat contoh/panduan/tutorial membuat aplikasi dengan php lengkap bisa dibaca artikel saya tentang Membuat Aplikasi Data Mahasiswa dengan PHP Bagian 1, Bagian 2, Bagian 3, Bagian 4, Bagian 5 dan Bagian 6

Semoga bermanfaat. Jika ada pertanyaan atau koreksi, jangan sungkan mengisi komentar. Dan jika ini berguna untuk anda silahkan dishare ke teman2 anda.

Zainal Hakim

Baca juga :

** Bebas disunting dengan menyebutkan sumber **

Komentar

Halaman Lainya

  • Mengirim email laporan dari database mysql dengan PHPMailer
    Pada tulisan sebelumnya saya sedikit berbagi tentang Cara mudah mengirim email dari PHP dengan PHPMailer. Pada tulisan berikut ini saya ingin lanjutkan lagi tentang bagaimana mengirimkan email dalam bentuk laporan yang diambilkan dari database mysql dengan dengan PHPMailer.
  • Perbedaan session dan cookies dalam php
    Dalam php kita mengenal session dan cookies yang digunakan untuk menyimpan informasi pengguna. Secara umum memang sulit dibedakan karena dari segi fungsinya bisa dikatakan sama. Artikel berikut akan membantu anda membedakanya dari berbagai sisi implementasinya.
  • Membuat nomor urut harian dengan php
    Ada teman bertanya, bagaimana membuat nomor urut yang setiap hari kembali ke awal? Secara logic prosesnya cukup sederhana yaitu melakukan pengecekan pada tabel mysql yang sudah dibuat apakah ada data hari sesuai tanggal sistem. Jika ada maka ambil dan tambahkan nilainya, kemudian perbaharui datanya. Jika tidak ada maka buat record baru dengan?tanggal tersebut kemudian set nilai urutan 1.
  • Masalah seputar upload file dengan php
    Minat terhadap bahasan tentang upload file dengan php kayanya sangat tinggi, ini saya lihat dari banyaknya pengunjung yang datang ke situs saya ini mencari informasi tentang bagaimana membuat form upload, membuat upload ke database dll. Oleh karena itu saya akan berbagi informasi tentang hal yang sering terjadi pada saat membuat fasilitas upload file dengan php, mudahan ini berguna buat teman-teman yang sedang mendalaminya.
  • Membuat aplikasi data mahasiswa dengan PHP - Bagian 6
    Ini bagian terakhir artikel saya tentang tentang membuat aplikasi data mahasiswa dengan php, Pada artikel sebelumnya membuat aplikasi data mahasiswa bagian 5, saya sudah merancang tabel database pengguna dan menyisipkan 1 nama pengguna dengan password yang disimpan dalam format md5. Sekarang saya akan merancang form login dan proses login, serta melindungi semua halaman pengelolaan data mahasiswa yang sudah dibuat.

Kiriman terbaru