Ada 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 :
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 :
Kemudian kita membuat form uploadnya, bisa disimpan dalam kirim-gambar.html :
Setelah itu kita siapkan lagi sebuah file PHP dengan nama upload.php dengan kode seperti berikut :
Source : http://www.zainalhakim.web.id/posting/cara-upload-gambar-dengan-php-dan-menyimpan-kedalam-database-mysql.html
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 :
- Performa database lebih lambat dan ukuran database tentunya semakin besar
- Sulit untuk membackup fisik gambar karena gambar tersimpan dalam format database
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 :
- Folder gambar dibuat satu folder dengan file kirim-gambar.html, upload.php
- Upload diatas hanya menyimpan file jenis jpg, gif, dan png
- Yang disimpan dalam mysql hanya judul gambar, nama folder dan nama file gambar saja
Source : http://www.zainalhakim.web.id/posting/cara-upload-gambar-dengan-php-dan-menyimpan-kedalam-database-mysql.html
Tags
PHP