Gambar tidak Tersimpan Saat Upload File
Ok... sahabat programers suckittrees... Pernahkan anda mengalami masalah Gambar anda tidak bisa tersimpan di database.. ???? Padahal sebelumnya aplikasi bisa dan tidak ada masalah apapun saat menyimpan file upload berupa gambar.. ?? ...
Bagi yang baru belajar Uplad Gambar dengan PHP, admin sarankan untuk membaca artikel suckittrees di Tutorial Dasar Upload File dengan PHP , agar tahu dasar uplad file
Dalam hal ini admin akan sedikit share pengalaman trouble shoting saat upload gambar di database dengan PHP , Pada kasus ini aplikasi yang kita buat sudah berjalan dengan baik.. setelah kita gunakan ,,, tiba-tiba tidak berjalan..
1. Dalam Form harus ada properti enctype="multipart/form-data" , atribut tersebut paling penting tidak boleh tidak ada.. contoh penggunaanya <form action="filetarget" method="post" enctype="multipart/form-data">
2. Pastikan Folder atau tempat penyimpanan Gambarnya Jelas..
Contoh struktur folder seperti dibawah ini
Code upload.php
<form method="post" action="proses.php" enctype="multipart/form-data">.
File: <input type="file" name="file" />
<input type="submit" name="submit" value="Upload" />
</form>
proses.php
<?php
if(move_uploaded_file($_FILES['file']['tmp_name'],"images/". $_FILES['file']['name']))
echo "Upload file berhasil...<br>
Nama file: {$_FILES['file']['name']}<br>
Ukuran: {$_FILES['file']['size']} byte";
else
echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";
?>
perbandingan jika tidak ingin menyimpan gambar di dalam folder images , perhatikan contoh berikut
<?php
//jika tidak ingin disimpan kedalam folder
if(move_uploaded_file($_FILES['file']['tmp_name'], $_FILES['file']['name']))
echo "Upload file berhasil...<br>
Nama file: {$_FILES['file']['name']}<br>
Ukuran: {$_FILES['file']['size']} byte";
else
echo "Upload file gagal...<br><a href=\"upload.html\">Kembali</a>";
?>
3. Dalam Kasus Lain data yang memiliki karakter nama yang memiliki kekhususan seperti tanda petik (') misal, Muhammad Khosyi'in (nama disamarkan :p) mungkin terdapat inputan yang memiliki karakter nama yang memiliki karakter khusus seperti tanda petik (') , akibatnya data tidak bisa di simpan kedalam database. lihat pada artikel
Untuk mengatasi hal ini kita bisa memanfaatkan fungsi mysql_real_escape_string() di php , berikut sedikit potongan kode yang bisa anda sesuaikan dan modifikasi sesuai dengan kebutuhan anda :
saya menggunakan fungsi stripslashes():
$nama_lengkap = stripslashes ($_SESSION[namalengkap]);
dan langsung disertai fungsi mysql_real_escape_string():
$nama_lengkap1 = mysql_real_escape_string($nama_lengkap);
kemudian cara untuk memasukkan pada database adalah
move_uploaded_file($lokasi_abstrak,"$dirabstrak");
mysql_query("INSERT INTO penelitian(judul,nama_lengkap,isi,dll)
VALUES('$_POST[judul]','$nama_lengkap1','$_POST[isi_penelitian]',dll)");
Silahkan anda sesuaikan dengan data di database anda.. semoga artikel cara mengatasi gagal upload gambar di database dengan php ini dapat bermanfaat untuk kita semua.