TELAH DIBUKA !!!

Toko Ebook Tutorial "RosihanAri.Net"


Free Ebook Tutorial from Rosihan Ari's Blog

Tutorial Javascript | Tutorial PHP | Tutorial AJAX | Tutorial CSS | Tutorial FPDF | Tutorial Wordpress | Tutorial Java SE


 photo 300x250_zpsff09f9e7.gif
Slot iklan tersedia, pasang iklan di atas

Ebook yang direkomendasikan untuk Anda
Ebook Panduan Praktis OOP di PHP

Membuat Thumbnail Image dengan Script PHP


September 18th, 2008 | by rosihanari | Cetak Artikel Cetak Artikel

GampSMS SMS Gateway

Tahukah Anda dengan istilah thumbnail? Thumbnail adalah image yang berukuran lebih kecil dari ukuran aslinya. Misalkan ukuran asli pixel dari suatu image adalah 1000×2000, dan misalkan kita buat thumbnail dari image tersebut dengan proporsi 50% dari image aslinya, maka akan diperoleh image dengan ukuran 500×1000 pixel.

Biasanya thumbnail ini digunakan untuk katalog untuk toko online guna memamerkan daftar produknya, seperti halnya rencana mas Erwin Julianto yang ingin membuka toko onlinenya. Thanks mas Erwin atas permintaannya untuk mbuatin scriptnya, so… saya termotivasi untuk menulis artikel ini. Selain itu thumbnail biasa digunakan untuk album foto, seperti miliknya Friendster.

Nah pada artikel kali ini, akan saya jelaskan cara membuat script PHP untuk membuat thumbnail ini. Skenarionya adalah, user bisa mengupload file image asli ke database, lalu daftar image yang sudah diupload akan ditampilkan dalam bentuk thumbnail. Untuk setiap thumbnail bisa diklik untuk melihat image secara full view sesuai ukuran aslinya.

Pertama-tama, kita siapkan terlebih dahulu tabel untuk menyimpan file imagenya.

CREATE TABLE image (
  id int(11) NOT NULL auto_increment,
  title varchar(100),
  image longblob,
  PRIMARY KEY  (`id`)
)

Oya… untuk menampung data foto di database, kita butuh field dengan tipe data BLOB. Boleh menggunakan BLOB, LONGBLOB atau MEDIUMBLOB, tergantung perkiraan ukuran image.

Selanjutnya kita buat form untuk proses upload image.

<form enctype="multipart/form-data" action="upload.php" method="post">
Judul Image <input name="text" type="title" />
Pilih File Image <input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input name="image" type="file" />
<input type="submit" name="submit" value="Submit" />
</form>

Tag
digunakan untuk mengatur ukuran maksimum file yang akan diupload. Dalam hal ini dibatasi 2MB.

Setelah form dibuat, kita bisa membuat script upload.php nya

<?php
// membuat temporary name untuk file image
$tmpName   = $_FILES['image']['tmp_name'];
$title     = $_POST['title'];

// membaca data file image temporary
$fp        = fopen($tmpName, 'r');
$dataimage = fread($fp, filesize($tmpName));

// mengganti data image berupa slash menjadi double slash
$dataimage = addslashes($dataimage);

fclose($fp);

mysql_connect('hostName','dbUserName','dbUserPass');
mysql_select_db('dbName');

$query = "INSERT INTO image(title, image) VALUES ('$title', '$dataimage')";
$hasil = mysql_query($query);
if ($hasil) echo "Upload image ke database sukses";
else echo "Upload image ke database gagal";
?>

Nah… setelah kita buat script untuk upload, selanjutnya kita akan buat script untuk menampilkan thumbnail semua image yang telah diupload.

index.php

<?php

mysql_connect('hostName','dbUserName','dbUserPass');
mysql_select_db('dbName');

$query = "SELECT id, title FROM image";
$hasil = mysql_query($query);
while ($data = mysql_fetch_array($hasil))
{
	echo "<img src='thumbnail.php?id=".$data['id']."'><br>".$data['title']."<br>";
	echo "<a href='view.php?id=".$data['id']."'>Full View</a><br><hr>";
}
?>

Perhatikan script index.php di atas, bahwa untuk setiap menampilkan thumbnail, digunakan script thumbnail.php disertai dengan parameter id. Fungsi dari script thumbnail.php ini adalah membuat thumbnail untuk setiap image sesuai id image masing-masing. Di bawah thumbnail terdapat judul image dan juga link untuk melihat image aslinya. Link ini menuju ke script view.php, disertai dengan parameter id image.

Berikut ini isi script dari thumbnail.php nya

thumbnail.php

<?php

mysql_connect('hostName','dbUserName','dbUserPass');
mysql_select_db('dbName');

// mendapatkan id image
$id = $_GET['id'];

$query = "SELECT image FROM image WHERE id = $id";
$hasil = mysql_query($query);
$data  = mysql_fetch_array($hasil);

$proporsi = 0.1; // thumbnail 10% dari ukuran asli

// membuat image dari string database
$img = imagecreatefromstring($data['image']);

// mendapatkan ukuran panjang dan tinggi pixel
$width = imagesx($img);
$height = imagesy($img);

// mengatur panjang dan lebar ukuran thumbnail
// sesuai proporsi
define("T_WIDTH", $width*$proporsi);
define("T_HEIGHT", $height*$proporsi);

// menyiapkan image baru untuk thumbnail
$img_copy = imagecreatetruecolor(T_WIDTH, T_HEIGHT);

// membuat image untuk thumbnail dengan mengubah ukuran
// image asli
imagecopyresized($img_copy, $img, 0, 0, 0, 0, T_WIDTH, T_HEIGHT, $width, $height);

// output thumbnail
header("Content-type: image/jpeg");
imagejpeg($img_copy);

?>

Sedangkan isi dari view.php adalah

view.php

<?

mysql_connect('hostName','dbUserName','dbUserPass');
mysql_select_db('dbName');

$id = $_GET['id'];

$query = "SELECT image FROM image WHERE id = $id";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

header('Content-type: image/jpeg');
echo $data['image'];

?>

Wuih… panjang juga tutorialnya. Tapi… mudah-mudahan berguna bagi Anda. Bila ada hal-hal yang perlu didiskusikan atau ditanyakan, silakan isi komentar di bawah ini.

Oya… Anda bisa mendapatkan source code script di atas dengan mendownloadnya di sini


Baca Juga Artikel Terkait
Script PHP untuk Membuat Report Format MS. Excel
Membuat Auto Deletion (Hapus Otomatis) Data Dengan Script PHP
Membuat Random Quotes dengan PHP
Tips Membuat Script PHP Pengolah Password dengan MD5
Membuat Script PHP untuk Rekap Data dari Data Mentah


 photo 300x250_zpsff09f9e7.gif
Slot iklan tersedia, pasang iklan di atas


Kata kunci: PHP -


Ada 108 komentar dalam artikel ini.



  1. rudy says:

    mas, mau tanya bagaimana skrip php untuk edit gambarnya ya mas. maklum masih pemula.mohon pencerahan dari mas rosihan ari

  2. ilham says:

    oke mas.. iya sudah dicoba,filenya kegedean.. makasih ya mas….

  3. permisi… klo cara resize image gif atau png gimana ya? Saya pernah coba tapi image y maang awalnya ada animasinya, setelah di convert animasinya hilang walau format masih tetap

  4. eko says:

    mas, klo gambarnya di pindah dari folder yg 1 ke folder yg laen gimana cara menampilkannya menggunakan thumbnail???

  5. fina says:

    mas, berhasil muncul gambarnya, tapi ko sama binarinya ya? trus untuk foto yg besar tdk muncul ya mas ??

    • fina says:

      oh sudah bisa mas maaf saya yg salah.perfect codingannya ini yg saya cari

    • fina says:

      mas, ini tidak bisa di dalam looping ya

      $query2 = mysql_query(“SELECT foto FROM data”);
      while($row = mysql_fetch_object($query2)){
      header(‘Content-type: image/jpeg’);
      echo $row->foto;
      }

      data yang muncul cuma 1 terus

    • fina says:

      codingnya ga bisa di simpen di dalam coding lain ya?

      Warning: Cannot modify header information – headers already sent by

  6. Ridwan says:

    gan ada tutorial khusus buat php script untuk buat image viewer doang ga ???

  7. DIKA says:

    kak phpmyadmin
    menampilkan gambar ( misal gambar anak sekolah gambar asli besar 4×6 )

    nama :
    alamat :
    foto 3×4 :
    upload

    bagaimana kak

  8. k candra says:

    gan semua kode yg di jelasin di atas sudah saya terapkan , tapi tampilan gambar tidak muncul pada thumbnail, dan pada full view nya tampilannya menjadi seperti ini: ‰PNG  IHDRÆNtË pHYs  šœ OiCCPPhotoshop ICC profilexڝSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3

    so dimana masalahnya ya, thanks ya…

  9. ay says:

    mas, sya udh coba, dan pd saat coba upload gambar ke 1 berhasil, tp untuk upload gambar slanjutnya koq “Upload image ke database gagal”.
    trus, sya buka file upload.php. muncul warning “Warning: fread(): supplied argument is not a valid stream resource in C:\wamp\www\haji\galeri\upload.php on line 8

    Warning: fclose(): supplied argument is not a valid stream resource in C:\wamp\www\haji\galeri\upload.php on line 13
    Upload image ke database gagal”

    mohon solusinya, trims



 

Komentar/pertanyaan Anda!

Mohon maaf, komentar/pertanyaan yang menggunakan email palsu atau komentar bernada negatif, cemooh, umpatan, cacian atau sejenisnya secara otomatis akan terhapus karena dianggap spam dan tidak akan tampil

Dimohon jangan pula memasukkan code program dalam bentuk apapun ke dalam komentar karena akan dianggap spam.

Mohon maaf jika seandainya ada beberapa pertanyaan Anda yang tidak direspon atau ditanggapi mengingat banyaknya komentar yang masuk dan keterbatasan kemampuan/ilmu saya dalam menjawab pertanyaan satu persatu. Saya harap Anda bisa memahami dan memakluminya.

Semua komentar atau pertanyaan yg masuk tidak akan langsung tampil di halaman ini, karena akan dimoderasi dahulu.


*