Script PHP untuk membuat Thumbnail Image / Gambar secara Otomatis

Script ini digunakan untuk membuat Gambar Thumnail ( Gambar dengan ukuran kecil ) dari suatu gambar asli yang diupload ke suatu server. Gambar ini nantinya berguna saat pemanggilan content di website yang memunculkan artikel bersangkutan menjadi ringan karena gambar yang diload adalah gambar duplikat dari gambar asli namun dengan ukuran yang kecil.
Fungsi ini juga memungkinkan Anda untuk bisa menentukan sendiri ukuran thumbnailnya nanti dan dimana gambar thumbnail ini disimpan.

Script Membuat Gambar Thumbnail dengan PHP

Kurang lebihnya script ini nanti akan membuat gambar seperti yang nampak pada gambar diatas. Oke, untuk fungsi / source code PHP nya silahkan pandangi dibawah ini 😀

function createThumbs($pathToImages, $pathToThumbs, $thumbWidth, $thumbHeight){
	$dir = opendir( $pathToImages );
	while (false !== ($fname = readdir( $dir ))) {
		$info = pathinfo($pathToImages . $fname);
		if ( strtolower($info['extension']) == 'jpg' || strtolower($info['extension']) == 'png' ){
			echo "Creating thumbnail for {$fname} <br />";
			$img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
			$width = imagesx( $img );
			$height = imagesy( $img );
			$new_width = $thumbWidth;
			$new_height = $thumbHeight;

			$tmp_img = imagecreatetruecolor( $new_width, $new_height );
			imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );
			imagejpeg( $tmp_img, $pathToThumbs."thumb-".$fname );
		}
	}
	closedir( $dir );
}

Penjelasan fungsi diatas adalah sebagai berikut :

  1. $pathToImages = variabel digunakan untuk menetukan letak path dimana nantinya gambar asli akan disimpan
  2. $pathToThumbs = variabel digunakan untuk menetukan letak path dimana nantinya gambar thumbnail akan disimpan
  3. $thumbWidth = variabel untuk menentukan lebar ukuran gambar thumbnail
  4. $thumbHeight = variabel untuk menentukan tinggi ukuran gambar thumbnail

5 thoughts on “Script PHP untuk membuat Thumbnail Image / Gambar secara Otomatis

Leave a Reply