Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  | 

PHP

Cara Membuat Upload Gambar dengan PHP dan MySQL

img-responsive

Saya akan coba berbagi bagaimana membuat upload gambar dengan pemograman PHP dan database MySQL. Pada catatan kali ini, saya membatasi gambar yang bisa diuploadnya hanya png dan jpg. Jadi selain gambar png dan jpg, maka nanti akan muncul pesan error. Selain itu, saya juga membatasi ukuran gambar nya yaitu maksimal 1MB. Langsung saja ikuti langkah-langkah berikut ini:

INFO:
Catatan ini sudah saya update. sebelumnya tutorial ini menggunakan MySQL Functions seperti mysql_connect, mysql_query, dan lain-lain. Tapi karena fungsi tersebut sudah deprecated di PHP versi 5.5. jadi telah saya update jadi menggunakan MySQLi Functions seperti mysqli_connect, mysqli_query, dan lain-lain.


DEMO
Sebelum membaca tutorialnya, mungkin ada yang mau lihat demonya terlebih dahulu. Klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – PERSIAPAN

  1. Buat sebuah folder dengan nama latihan_upload, lalu simpan pada folder xampp/htdocs/
  2. Buat lagi sebuah folder dengan nama images, lalu simpan di folder xampp/htdocs/latihan_upload/

STEP 2 – DATABASE
Pada step ini, kita akan membuat databasenya. ikuti langkah-langkah berikut ini :

  1. Buat sebuah database dengan nama latihan
  2. Buat sebuah tabel dengan nama gambar. Struktur tabelnya sebagai berikut :
    Struktur Tabel - Cara Membuat Upload Gambar dengan PHP dan MySQL

    CREATE TABLE IF NOT EXISTS `gambar` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `nama` varchar(100) NOT NULL,
      `ukuran` int(11) NOT NULL,
      `tipe` varchar(20) NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

STEP 3 – BUAT KONEKSI DATABASE
Pada step ini, kita akan membuat file koneksi.php yang berfungsi untuk menghubungkan dengan database MySQL. Berikut ini kodenya :

<?php
$host = "localhost"; // Nama hostnya
$user = "root"; // Username
$pass = ""; // Password (Isi jika menggunakan password)
$connect = mysqli_connect($host, $user, $pass, "mynotescode"); // Koneksi ke MySQL
?>

STEP 4 – BUAT FORM UPLOAD
Pada step ini, kita akan membuat sebuah file dengan nama fom.php yang berfungsi sebagai tampilan form uploadnya. Berikut ini tampilan dan kodenya :

Form - Cara Membuat Upload Gambar dengan PHP dan MySQL

<html>
<head>
  <title>Form Upload Gambar</title>
</head>
<body>
  <h1>Form Upload Gambar</h1>
  <form method="post" enctype="multipart/form-data" action="upload.php">
    <input type="file" name="gambar">
    <input type="submit" value="Upload">
  </form>
</body>
</html>

STEP 5 – BUAT PROSES UPLOAD
Sekarang, kita akan membuat file upload.php yang berfungsi untuk memproses upload gambarnya. Berikut ini kodenya :

<?php
// Load file koneksi.php
include "koneksi.php";

// Ambil Data yang Dikirim dari Form
$nama_file = $_FILES['gambar']['name'];
$ukuran_file = $_FILES['gambar']['size'];
$tipe_file = $_FILES['gambar']['type'];
$tmp_file = $_FILES['gambar']['tmp_name'];

// Set path folder tempat menyimpan gambarnya
$path = "images/".$nama_file;

if($tipe_file == "image/jpeg" || $tipe_file == "image/png"){ // Cek apakah tipe file yang diupload adalah JPG / JPEG / PNG
  // Jika tipe file yang diupload JPG / JPEG / PNG, lakukan :
  if($ukuran_file <= 1000000){ // Cek apakah ukuran file yang diupload kurang dari sama dengan 1MB
    // Jika ukuran file kurang dari sama dengan 1MB, lakukan :
    // Proses upload
    if(move_uploaded_file($tmp_file, $path)){ // Cek apakah gambar berhasil diupload atau tidak
      // Jika gambar berhasil diupload, Lakukan :	
      // Proses simpan ke Database
      $query = "INSERT INTO gambar(nama,ukuran,tipe) VALUES('".$nama_file."','".$ukuran_file."','".$tipe_file."')";
      $sql = mysqli_query($connect, $query); // Eksekusi/ Jalankan query dari variabel $query
      
      if($sql){ // Cek jika proses simpan ke database sukses atau tidak
        // Jika Sukses, Lakukan :
        header("location: index.php"); // Redirectke halaman index.php
      }else{
        // Jika Gagal, Lakukan :
        echo "Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database.";
        echo "<br><a href='form.php'>Kembali Ke Form</a>";
      }
    }else{
      // Jika gambar gagal diupload, Lakukan :
      echo "Maaf, Gambar gagal untuk diupload.";
      echo "<br><a href='form.php'>Kembali Ke Form</a>";
    }
  }else{
    // Jika ukuran file lebih dari 1MB, lakukan :
    echo "Maaf, Ukuran gambar yang diupload tidak boleh lebih dari 1MB";
    echo "<br><a href='form.php'>Kembali Ke Form</a>";
  }
}else{
  // Jika tipe file yang diupload bukan JPG / JPEG / PNG, lakukan :
  echo "Maaf, Tipe gambar yang diupload harus JPG / JPEG / PNG.";
  echo "<br><a href='form.php'>Kembali Ke Form</a>";
}
?>

Berikut penjelasan dari kode diatas :
$_FILES[‘gambar‘][‘name’];
Untuk mengambil nama file yang diupload.

$_FILES[‘gambar‘][‘size’]; 
Untuk mengambil ukuran file yang diupload dalam bytes.

$_FILES[‘gambar‘][‘type’]; 
Untuk mengambil tipe file yang diupload.

$_FILES[‘gambar‘][‘tmp_name’];
Untuk mengambil url/path folder tempat penyimpanan sementara file yang diupload, sebelum dipindahkan ke folder images.

NOTE : Pada kode diatas, terdapat tulisan gambar. tulisan tersebut harus sama dengan nama input type=”file” yang ada pada form (form.php).

if($tipe_file == "image/jpeg" || $tipe_file == "image/png"){

Untuk mengecek apakah file/gambar yang diupload tipenya jpg atau png.

 

if($ukuran_file <= 1000000){

Untuk mengecek apakah file/gambar yang diupload ukurannya kurang dari sama dengan 1MB. Pada kode tersebut saya menetapkan <= 100000, 100000 itu sama dengan 100000 bytes = 1MB.

 

move_uploaded_file($tmp_file, $path)

kode inilah yang berfungsi untuk memindahkan gambar / file yang telah diupload dari folder tmp ke dalam folder di website kita (pada catatan ini kita upload gambarnya ke folder images). Struktur dasar penulisan kodenya adalah :

move_uploaded_file($tmp, $path);

/*
Keterangan:
- $tmp : diisi dengan sumber file yang diupload
- $path : diisi dengan url/path folder tempat menyimpan gambar. contoh: images/gambar.jpg
*/

 

$query = "INSERT INTO gambar(nama,ukuran,tipe) VALUES('".$nama_file."','".$ukuran_file."','".$tipe_file."')";

Query SQL untuk menyimpan data gambar(nama, ukuran, dan tipe gambar) ke dalam tabel gambar pada database latihan.


STEP 6 – BUAT VIEW DATA

Terakhir, kita akan membuat file index.php yang berfungsi untuk menampilkan data gambar(nama, ukuran, dan tipe gambar) dari database ke halaman website kita. Berikut ini tampilan dan kodenya :

View - Cara Membuat Upload Gambar dengan PHP dan MySQL

<html>
<head>
  <title>Data Gambar</title>
</head>
<body>
<h1>Data Gambar</h1><hr>
<a href="form.php">Tambah Gambar</a><br><br>
<table border="1" cellpadding="8">
<tr>
  <th>Gambar</th>
  <th>Nama File</th>
  <th>Ukuran File</th>
  <th>Tipe File</th>
</tr>

<?php
// Load file koneksi.php
include "koneksi.php";

$query = "SELECT * FROM gambar"; // Tampilkan semua data gambar
$sql = mysqli_query($connect, $query); // Eksekusi/Jalankan query dari variabel $query
$row = mysqli_num_rows($sql); // Ambil jumlah data dari hasil eksekusi $sql

if($row > 0){ // Jika jumlah data lebih dari 0 (Berarti jika data ada)
  while($data = mysqli_fetch_array($sql)){ // Ambil semua data dari hasil eksekusi $sql
    echo "<tr>";
    echo "<td><img src='images/".$data['nama']."' width='100' height='100'></td>";
    echo "<td>".$data['nama']."</td>";
    echo "<td>".$data['ukuran']."</td>";
    echo "<td>".$data['tipe']."</td>";
    echo "</tr>";
  }
}else{ // Jika data tidak ada
  echo "<tr><td colspan='4'>Data tidak ada</td></tr>";
}
?>
</table>
</body>
</html>

Berikut penjelasan dari kode diatas :

$sql = mysqli_query($connect, $query);

Untuk mengeksekusi / menjalankan query sql. struktur dasar penulisannya adalah sebagai berikut :

mysqli_query($connect, $query);

/*
Keterangan :
- $connect : diisi dengan koneksi ke mysql. hasil dari mysqli_connect
- $query : diisi dengan Query SQL yang diinginkan
*/
mysqli_num_rows($sql);

Untuk mengambil jumlah data dari hasil eksekusi suatu query sql. Struktur dasar penulisannya adalah sebagai berikut :

mysqli_num_rows($sql);

/*
Keterangan :
- $sql : diisi dengan hasil eksekusi query sql(mysql_query())
*/

 

mysqli_fetch_array($sql);

Untuk mengambil data dari hasil eksekusi suatu query sql. Struktur dasar penulisannya adalah sebagai berikut :

mysqli_fetch_array($sql);

/*
Keterangan :
- $sql : diisi dengan hasil eksekusi query sql(mysql_query())
*/

Kode diatas saya simpan didalam looping while berfungsi untuk melakukan proses perulangan sampai data terkahir dengan tujuan agar kita bisa menampilkan datanya satu per satu.

echo "<td><img src='images/".$data['nama']."' width='100' height='100'></td>";
echo "<td>".$data['nama']."</td>";
echo "<td>".$data['ukuran']."</td>";
echo "<td>".$data['tipe']."</td>";

Pada kode diatas terdapat variabel $data digunakan untuk mengambil isi dari field-field yang ada pada tabel gambar di database latihan. Untuk kode yang berada didalam tanda [‘…….’], kode tersebut harus sama dengan nama field yang ada pada tabel gambar.

Pada catatan ini saya hanya membahasa proses upload dan simpan data ke database. Saat ini, saya sudah membuat catatan baru, catatan tersebut adalah pengembangan dari catatan ini yaitu : Cara Membuat CRUD Plus Upload Gambar dengan PHP dan MySQL.

Source Code
Untuk mengunduh source code nya silahkan klik link berikut ini : Download.
Bingung cara downloadnya? Klik disini untuk mengetahui caranya.

Akhirnya selesai juga. Sekian untuk catatan kali ini. Semoga catatan ini bisa bermanfaat. Terimakasih.

Referensi :
http://php.net/manual/en/reserved.variables.files.php
http://php.net/manual/en/features.file-upload.post-method.php

Tutorial membuat upload gambar dengan PHP dan MySQL, Tutorial buat upload gambar dengan PHP dan MySQL, Cara mudah Membuat Upload Gambar dengan PHP dan MySQL, Cara mudah buat Upload Gambar dengan PHP dan MySQL, Cara buat Upload Gambar dengan PHP dan Database MySQL, Cara membuat Upload Gambar dengan PHP dan Database MySQL

Upload Gambar

(Total : 14,344 viewers, 2 viewers today)
cara-membuat-upload-gambar-dengan-php-dan-mysql

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS

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

Name *

Email *

Website

131 Comments

  1. batamdev

    kalau untuk membuat editnya bagaimana ya?

    ketika di edit jika di kosongkan saja, gambarnya tidak hilang dan ada preview gambarnya juga.

    agar bisa upload gambar dari handphone dan bisa ngambil gambar langsung dari kamera, seperti facebook. bagaimana kodingnya ?

      • batamdev

        sudah di coba pakai kalau langsung dari kamera bawaan hp gambar gagal upload, kalau dipilih pakai aplikasi lain misalnya camera 360 bisa. atau di photo dlu kemudian pilih di galeri baru bisa

        • Rizaldi Maulidia Achmad

          gagal upload disini apa ada error yang muncul? soalnya disini memafaatkan fitur html5. itu pakai browser apa bukanya?

        • batamdev

          pakai browser google chrome, pesan error tidak ada. nama atau keterangan photonya masuk tapi photonya tidak ada. di cek folder upload juga tidak ada.

          langsung dari kamera hp photo tidak tersimpan di hp, tapi kalau pakai aplikasi tambahan seperti kamera 360 photo yg di ambil tersimpan di hp

          • Rizaldi Maulidia Achmad

            kalau di coba lewat laptop bisa (Bukan lewat smartphone) ?
            saya terakhir kali coba bisa dan tidak ada masalah om

  2. Alvhy fitra

    Kalau pas upload keluar terus coment “Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database.”
    Apa yg salahnya bg?

    • Rizaldi Maulidia Achmad

      Itu ada yang salah pada query insert nya. Coba di file upload.php, pada baris ke 23 ubah jadi sepeeti ini :
      $sql = mysqli_query($connect, $query) or die(mysqli_error($connect));

      Lalu jalankan kembali. Lihat apaa error yang keluar?

  3. angga joe

    mantep gan.. penjelasannya jelas.. top markotop.. sekali lagi thx

    • Rizaldi Maulidia Achmad

      Siap om, sama-sama hahaa
      Senang bisa membantu 😀

  4. paryanto

    database sudah saya buat sama persis, file sudah ngambil asli dari jenengan , kok eror ya gan??

    Notice: Undefined index: foto in C:\xampp\htdocs\upload_php\upload.php on line 6

    Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in C:\xampp\htdocs\upload_php\upload.php on line 19

    Warning: move_uploaded_file(): Unable to move ‘C:\xampp\tmp\php8F42.tmp’ to ‘images/’ in C:\xampp\htdocs\upload_php\upload.php on line 19
    Maaf, Gambar gagal untuk diupload.
    Kembali Ke Form

    • Rizaldi Maulidia Achmad

      Error ini di sebabkan karena isi dari atribut name pada input type file nya berbeda dengan yang ada di file proses upload nya. Di tutorial ini sudah saya jelaskan om. Silahkan di baca lagi untuk penjelasan dari proses uploadnya

  5. renita p

    kalo menampilkan gambar yg telah dipilih sebelum di klik upload gimana ya mas caranya

  6. azkazulham

    jikalau kita ingin menampilkan link gambarnya? jadi kaya nama_gambar jadi di tabel ada hyperlink jika di klik maka akan menampilkan full gambar?

    • Rizaldi Maulidia Achmad

      Kalo via link begitu. Otomatis akan menampilkan gambar secara full om. Sesuao source / path si gambarnya

  7. khusniyati

    penjelasannya lumayan. Saya tugas akhir saya membuat web.Apakah bisa tanya-tanya ke mas rizaldi?

    • Rizaldi Maulidia Achmad

      silahkan mba. yang lain pun banyak bertanya ke saya soal pemograman. kalau bisa membantu saya senang hehe. silahkan kontak saja lewat fans page di fb kami mba 😀

  8. Rizal Saputra

    cara menampilkan gambarnya di database mysql gimana? punya gua cuman bisa nampilin di tabel tampilan phpnya doang, sedangkan utk di databasenya, dia cuman ngebaca nama gambarnya saja.

    • Rizaldi Maulidia Achmad

      Tujuannya buat apa menampilkan gambar di databasenya om? Emang nanti user yanh pakai aplikasi om disuruh akses databasenya? Kan tidak mungkin om. Dan setau saya di database tidak bisa menampilkan gambar. Jadi cukup di halaman aplikasinya gambar tersebut ditampilkan. Kalau di database cukup nama file nya saja

    • abdullah

      oiya gan . nanya nih . fungsi database untuk apa kalau gambarnya disimpan didalam folder file sedangkan nanti membuat hosting kepenuhan dong.. dan emang ga bisa ya kalo gambar itu disimpan di mysql(karna db kan fungsinya untuk nyimpan) ? bukan di folder.

      • Rizaldi Maulidia Achmad

        Saya coba luruskan. Emang kalau kita menyimpan gambarnya di database. Apa tidak akan memakan space hardisk di hosting? Jawabannya jelas salah. Karena database sendiri pun disimpan di hardisk dan pasti memakan space hardisk. Lalu bagaimana untuk mencegah agar hardisk tidak cepat penuh? Jawabannya adalah buat sebuah validasi maksimum file size yang boleh di upload. Mungkin om sendiri punya sosial media? Hampir semua atau bahkan memang semua sosmed pasti membatasi maksimal file size gambar yang bisa di upload. Mudah-mudahan penjelasan saya tersebut bisa di mengerti 😀

  9. Wandi Hernadi

    kang ini coding ini pake MYSQLI Function, kalo yg masih pake yg dulu yg MYSQL Function apanya yang diubah ya pada codingannya?

    • Rizaldi Maulidia Achmad

      Kalo saya jelaskan di sini aga panjang om. Silahkan om cari saja perbedaan antara mysql dan mysqli

  10. Nazfiva Afianda

    Hallo kak. Aku ada problem ni

    Warning: mysqli_connect(): (HY000/1049): Unknown database ‘mynotescode’ in C:\xampp\htdocs\upload_php\koneksi.php on line 5

    Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\xampp\htdocs\upload_php\upload.php on line 23
    Maaf, Terjadi kesalahan saat mencoba untuk menyimpan data ke database.

    itu yang muncul setelah aku klik choose file. itu kenapa yaa?

    • Rizaldi Maulidia Achmad

      Nama databasenya apa mba? Tolong periksa file koneksi.php nya. Sesuaikan nama databasenya dengan yang mba buat

      • Nazfiva Afianda

        berarti mynotescode di koneksi.php itu diganti dengan nama database yang ane buat gan?

        • Rizaldi Maulidia Achmad

          Iyah mba benar

  11. Muhammad Bayu Devara

    Kak saya masih kedapatan problem di IF untuk type fotonya, saya udah ikutin sesuai yang kakak buat, tapi gatau kenapa kayaknya tipe fotonya gak kebaca kak

    Mohon responnya ya kak, mau belajar soalnya hehe

    • Rizaldi Maulidia Achmad

      Apa ada error yang muncul?
      Coba sy mau lihat kode nya. Upload aja lewat fans page fb om skrip uploadnya. Biar saya bisa cek

  12. Maulinda

    Makasih banyak mas ilmunya. Sangat membantu saya banget nih. 🙏😊

    • Rizaldi Maulidia Achmad

      Sama-sama mba. Senang bisa membantu 😀

    • Rizaldi Maulidia Achmad

      Sama-sama mba 🙂
      Senang bisa membantu hehe

    • Rizaldi Maulidia Achmad

      Sama-sama om, senang kalau bisa bermanfaat 😀

  13. rsi lucky

    bang kan saya buat tempat upload di /admin/upload.php
    nah saya pengen hasil uploadnya ada di public_html/images

    • Rizaldi Maulidia Achmad

      Tinggal ganti variabel $path jadi seperti ini om:
      $path = “../images/”.$nama_file;

      Jadi ditambahkan titik-titik slash di awal (“../”)

  14. ikhsan alfath

    Terimakasih banyak gan. penjelasanya mudah di pahami 😀

    • Rizaldi Maulidia Achmad

      Sama-sama om, senang bisa membantu 😀

  15. steven hartono

    gan mau tanya kalo mau upload gambar lebih dari 1 gimana caranya ya??
    terus kalo mau delete gambar gimana ya?
    thanks bos

    • Rizaldi Maulidia Achmad

      Untuk upload lebih dari 1 gambar. Coba cek komentar dibawah om. Pernah ada yg tanya juga
      Untuk delete gambar. Gunakan unlink(“path/to/image”);

      Contoh : unlink(“images/gambar.png”);
      Kode tersebut akan memghapus gambar.png pada folder images

  16. sugito1960

    matur nuwun makaping-kaping…
    mugi-mugi kasaean panjenengan tansah pun uri-uri..
    kang aryo jagad bade mirsani sumbangsih puniko…

    • Rizaldi Maulidia Achmad

      Sama-sama om. Senang bisa membantu 😀

  17. remu....

    gan mau tanya step 2 nomor 2 jika tanpa id kira” bisa g?

    • Rizaldi Maulidia Achmad

      bisa om. nanti tinggal di sesuaikan saja query sql nya. Tapi tetap harus ada kolom yang menjadi PRIMARY KEY nya om

  18. remu....

    mau tanya pada coding [‘gambar’] ini nama tabelnya ? atau yg lain?
    $nama_file = $_FILES[‘gambar’][‘name’];
    $ukuran_file = $_FILES[‘gambar’][‘size’];
    $tipe_file = $_FILES[‘gambar’][‘type’];
    $tmp_file = $_FILES[‘gambar’][‘tmp_name’];

    • Rizaldi Maulidia Achmad

      Itu disesuaikan dengan nama input type file yg ada di form upload nya om.
      Masih error juga om? Kalau masih error juga coba kirim file nya ke email atau lewat fans page di fb om. Nanti saya cek.

  19. remu....

    mau tanya ini solusinya gimna ya?
    if($ukuran_file <= 1000000){
    if(move_uploaded_file($tmp_file, $path)){
    $query = "INSERT INTO gambar(nama_gambar,ukuran,tipe) VALUES('".$nama_file."','".$ukuran_file."','".$tipe_file."')";
    $sql = mysqli_query($connect, $query);

    muncul seperti ini
    Warning: move_uploaded_file(images/tes.png): failed to open stream: No such file or directory in C:\xampp\htdocs\pkn\buat tes\gambar\upload_gambar.php on line 16

    Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\phpE60D.tmp' to 'images/tes.png' in C:\xampp\htdocs\pkn\buat tes\gambar\upload_gambar.php on line 16
    Maaf, Gambar gagal untuk diupload.

    • Rizaldi Maulidia Achmad

      Error tersebut karena folder images tempat menyimpan fotonya tidak ada. Silahkanbuat dulu folder images nya (lihat pada step 1 nomor 2 pada tutorial ini)

    • remu....

      gan punya link youtube nya?, saya udah coba ikuti step 1 dan 2 masih tetep error.
      if(move_uploaded_file($tmp_file, $path)){
      $query = “INSERT INTO gambar(nama_gambar,ukuran,tipe) VALUES(‘”.$nama_file.”‘,'”.$ukuran_file.”‘,'”.$tipe_file.”‘)”;
      $sql = mysqli_query($connect, $query);

  20. Ahin One

    Gan itu saya coba masih bisa di bypass (bisa upload file php dengan menggunakan tamper data) bgaimana cara patch validasinya ya

    • Rizaldi Maulidia Achmad

      Tamper data? Itu maksudnya gmn yah om? Hehe

  21. opien anisa

    Puya saya gambar nya tidak muncul.. Saya pake kode <img src="../gambar/galeri/”> ada fb ndak gan 😅 mau foto kodenya tp ga bs dsni ya

  22. yusufricky

    Gan, terima kasih itu sangat membantu..dalam hal ini saya hendak bertanya.
    kalo spt contoh kan :
    id ket. gambar
    1 nanas nanas.jpg
    2 Durian durian.jpg
    3 sapi sapi.jpg

    kl dari postingan kan gt y mas, krang lebih.
    kalo ingin 1 id untuk upload ke tabel giman gan ya ? misal pgn spt ini
    id ket. gambar_utama gambar1 gambar2
    1 macam gambar nanas.jpg durian.jpg sapi.jpg

    terima kasih mas, semoga bs membantu

    • Rizaldi Maulidia Achmad

      Pada form uploadnya. buat 3 input type file. jadi kaya gini contoh :
      <input type="file" name="gambar1">
      <input type="file" name="gambar2">
      <input type="file" name="gambar3">

      lalu pada proses uploadnya, buat 3 skrip berikut :
      $nama_file1 = $_FILES['gambar1']['name'];
      $nama_file2 = $_FILES['gambar2']['name'];
      $nama_file3 = $_FILES['gambar3']['name'];

      $tmp_file1 = $_FILES['gambar1']['tmp_name'];
      $tmp_file2 = $_FILES['gambar2']['tmp_name'];
      $tmp_file3 = $_FILES['gambar3']['tmp_name'];

      move_uploaded_file($tmp_file1, ‘namafoldertempatnyimpan/’.$nama_file1);
      move_uploaded_file($tmp_file2, ‘namafoldertempatnyimpan/’.$nama_file2);
      move_uploaded_file($tmp_file3, ‘namafoldertempatnyimpan/’.$nama_file3);

      lalu tambahkan skrip query untuk insert ke databasenya sesuai kebutuhan. skrip yang saya contohkan diatas itu untuk mengupload lebih dari 1 gambar sekaligus

  23. ridwan fauzi

    Kak boleh request gak? … Kalau coding untuk input tanggal menggunakan select option gimana ya?

    • Rizaldi Maulidia Achmad

      Kenapa tidak coba pakai datepicker om? Menurut saya jadi lebih simpel kalau pakai datepicker.

  24. Haekal M RIfky

    Gan untuk pertanyaan yg sama, yaitu terjadi kesalahan saat mencoba untuk menyimpan ke database. Saya sudah coba untuk menambahkan coding yang menjadi seperti ini “$sql = mysqli_query($connect, $query) or die(mysqli_error());”, tapi tetep saja error.
    error nya seperti ini “Warning: mysqli_error() expects exactly 1 parameter, 0 given in C:\xampp\htdocs\Latihan_Upload\upload.php on line 31”. Mohon Jawabannya Gan

    • Rizaldi Maulidia Achmad

      mysqli_error membutuhkan 1 parameter yaitu koneksi databasenya. Jadi kurang lebih seperti ini :
      mysqli_error($connect)

      • Haekal M RIfky

        masih tetap error gan “ou have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ”nama’,’ukuran’,’tipe’) VALUES (’99.jpg’,’31588′,’image/jpeg’)’ at line 1″

        • Rizaldi Maulidia Achmad

          itu ada yang salah pada query insertnya om. Coba saya pengen lihat kode yang sudah om buat (yang query insertnya)

          • Haekal M RIfky

            $query = “INSERT INTO gambar(‘nama’,’ukuran’,’tipe’) VALUES (‘”.$nama_file.”‘,'”.$ukuran_file.”‘,'”.$tipe_file.”‘)”;

          • Rizaldi Maulidia Achmad

            untuk kode yang ini : gambar(‘nama’,’ukuran’,’tipe’), tidak usah pakai kutip satu om. kurang lebih jadi seperti ini query yang benar :
            $query = “INSERT INTO gambar(nama,ukuran,tipe) VALUES(‘”.$nama_file.”‘,'”.$ukuran_file.”‘,'”.$tipe_file.”‘)”;

          • Haekal M RIfky

            Ok, sudah bisa gan. Makasih banyak

          • Rizaldi Maulidia Achmad

            Siap. sama-sama om 😀

  25. cisco ramon

    terima kasih sudah berbagi ilmu gan.. semoga ilmu ini berguna bagi saya dan rekan2 disekitar saya..

    • Rizaldi Maulidia Achmad

      Amiiin. Senang kalo bisa bermanfaat. Terimakasih sudah berkunjung om.

  26. Raka Giasta

    jadi yg di simpan di tabel mysqlnya itu gambarnya atau alamat gambar?

    • Rizaldi Maulidia Achmad

      Yang disimpan cuman nama file nya saja. Kalo gambarnya disimpan di database. Bisa brngkak nanti size datanasenya. Jadi gambarnya cukup disimpan di dalam sebuah folder.

      Maaf baru bisa bales.

  27. Noto

    Terima Kasih min tutorialnya

    • Rizaldi Maulidia Achmad

      Sama-sama om 🙂

  28. seayudiah

    hallo kak, saya mau tanya .. kok muncul ini ya?

    Warning: move_uploaded_file(images/SEREAL BALL CAPPUCCINO 500gr.png): failed to open stream: No such file or directory in C:\xampp\htdocs\serealover\gambar\upload.php on line 19

    Warning: move_uploaded_file(): Unable to move ‘C:\xampp\tmp\phpE8F2.tmp’ to ‘images/SEREAL BALL CAPPUCCINO 500gr.png’ in C:\xampp\htdocs\serealover\gambar\upload.php on line 19
    Maaf, Gambar gagal untuk diupload.

    padahal saya lihat di source code line 19 itu begini :
    if(move_uploaded_file($tmp_file, $path)){ // Cek apakah gambar berhasil diupload atau tidak

    mohon bantuan nya kak, terima kasih :))))

    • Rizaldi Maulidia Achmad

      Itu karena folder tempat gambar diuploadnya ga ada. Buat dulu folder imagesnya. Ikuti Step 1 langkah ke 2 pada tutorialnya

  29. Ahmad muhlasin

    Gan mau nanya ni saya,kenapa ya kok waktu di upload gambar ada pemberitahuan,maaf gambar gagal untuk di upload

  30. Johnd251

    Your weblog is 1 of a kind, i really like the way you organize the topics.

    • Rizaldi Maulidia Achmad

      Thank you. I hope you understood with my tutorial.

  31. arianbagusp

    gagak menyimpan ke database
    tapi udah ke simpen di folder
    solusinya

    • Rizaldi Maulidia Achmad

      coba pada file upload.php, pada kode baris ke 23 :
      $sql = mysqli_query($connect, $query);

      ubah jadi seperti ini :
      $sql = mysqli_query($connect, $query) or die(mysqli_error());

      terus coba jalankan lagi, cek apakah ada error yang muncul? kalo ada copas errornya disini

    • Rizaldi Maulidia Achmad

      Sama-sama om 🙂
      Terimakasih sudah berkunjung

  32. Latifur Rofik

    makasih min, ini mudah dipahami, ditunggu postingan selanjutnya

    • Rizaldi Maulidia

      Sama-sama om.
      Siap om. Terimakasih sudah berkunjung dan baca catatan saya. Kalo mau request tutorial seputar pemograman web silahkan om, kirim request nya ke email saya yg ada di.menu About 🙂

  33. vextra

    saya tidak mengerti scrip unlink() itu dipakai di mana??

    bisa di buat kan tabel tambahan “aksi” yang isinya hapus gambar di sebelah nya Tipe File ???

    • Rizaldi Maulidia

      pada file index.php. disitu ada skrip ini :

      echo “<td>”.$data[‘tipe’].”</td>”;

      tambahkan skrip ini setelah skrip diatas :
      echo “<td><a href=’delete.php?id=”.$data[‘id’].”‘>Hapus</a></td>”;

      lalu buat sebuah file delete.php. berikut isi dari file tersebut :
      http://pastebin.com/yCrjiAJ3

  34. vextra

    cara buat scrip menghapus gambar gimana ya???

    • Rizaldi Maulidia

      Kalo untuk memghapus gambar atau file lainnya. Cukup gunakan skrip unlink(“namafilenya”);

      Contoh saya ingin menghapus file img123.jpg yg ada di folder gambar. Berikut skripnya :

      unlink(“gambar/img123.jpg”);

      • vextra

        kalau menghapusnya melalui wep gimana???

        seperti saat menambahkan gambar

  35. Yusup

    asa wawuh ieu blogerrr… ahee.. mantap jall..

  36. bakrianto

    gan kalo mau menampilkan lebih dari 1 gambar gmn ya? di file index nya d ubah apanya?

    • Rizaldi Maulidia

      itu udah pasti tampil lebih dari 1 gambar gan. coba aja upload lagi sampai 2 gambar..
      saya sudah setting agar menampilkan semua gambar yang sudah diupload

  37. KikkyDevil

    gan saya mau nanya kalo bentuknya itu update berarti sql query kyak mna ya ??

    • Rizaldi Maulidia

      Yah gunakan query update om. Contoh :
      UPDATE gambar SET namafile=”$namafile”, size=”$size”, type=”$type” where id=”$_GET[‘id’]”

      $_GET[‘id’] ini diambil dari URL. Saran saya biar om paham. Mending pelajari dulu tentang “membuat crud dengan php dan mysql”

  38. pandi

    sangat bermanfaat gan

    • Rizaldi Maulidia

      Alhamdulillah saya senang kalo bisa bermanfaat. Terimakasih sudah berkunjung gan 🙂

  39. Mufti Haidar

    File berhasil di upload, sudah tersimpan di database tapi nggak tersimpan di folder tujuan
    Di index.php tampil gambar blank/rusak
    Solusinya gan ?

    • Rizaldi Maulidia

      1. Pada file form.php nya. Pastikan bahwa nama input type file nya sama dengan yg ada di file proses : $_FILES[‘gambar’]. “gambar” disitu harus sama dengan name input type file.

      2. Coba cek di form.php nya pada tag form apakah sudah ditambahkan atribut enctype=”multipart/form-data”

      3. Coba cek apakah atribut src yg pada tag img ada di index.php sudah mengarah ke folder tempat menyimpan gambarnya atau belum

  40. ZidniRyi

    Makasih Gan .. Kunbal : zlearn99.blogspot.com

  41. irwan

    Iya makasih mas. Saya mau bertanya. Kalau membuat tag koment gomana ya mas . Dan yang mau ditampilin kaya komeman ini mas. Yag mau ditampilin pertama gambr. Nama tanggal.waktu komenan. Terus isi komenan. Sebelum nya terimakasih

    • Rizaldi Maulidia

      Kalo mau gampang..
      Coba pelajari Bootstrap. Search aja di google. Di bootstrap udh disediakan..tinggal pakai

  42. Ray Khazunecarin

    Mas gambarnya gabisa ditampilin…. ada salah kodingan…. formatnya juga harus diinput….

    • Cahyoa adi nugrohon

      iyaa gk bisa tampil soalnya pas save database format nama adalah int untuk nampil harus varchar ane berhasil but thanks info

      • Rizaldi Maulidia

        Oh iyah bener om. Thanks sudah kasih tau. Ga ke cek sama saya. Akan saya perbaharui langsung

  43. William Giri

    gambarnya gk mau tampil, tapi udah kesimpen di foldernya.., gmn ni kak ?

  44. William Giri

    filenya mau kesimpen di foldernya, tpi kok gk bisa tampil di indexnya ya?

    • Rizaldi Maulidia

      sudah saya perbaharui gan.
      Ternyata kesalahan ada di saya. saya salah kasih tipe data pada field name. harusnya varchar bukan int.

    • Rizaldi Maulidia

      Kalo si file nya berhasil terupload ga gan? Coba cek folder image. Ada ga gambar yg diuploadnya.
      Trs perikasi query sql untuk insert datanya. Atau engga coba cek koneksinya..udh terkoneksi ke databasenya apa belum

    • Rizaldi Maulidia

      sudah saya perbaharui gan.
      Ternyata kesalahan ada di saya. saya salah kasih tipe data pada field name. harusnya varchar bukan int.

NOTE ARCHIVES