Küçük Resim Önizlemesi Thumbnail Oluşturma Sınıfı

<?php
class kucukResim{
	var $uzanti;
	var $dosya;
	var $cikti;
	function olustur($enCokGenislik, $enCokYukselik){
		$boyut = GetImageSize($this->dosya);
		$genislik = $boyut[0];
		$yukseklik = $boyut[1];
		$x_oran = $enCokGenislik / $genislik;
		$y_oran = $enCokYukselik / $yukseklik;
		if(($genislik <= $enCokGenislik) && ($yukseklik <= $enCokYukselik)){
			$tn_genislik = $genislik;
			$tn_yukseklik = $yukseklik;
		}elseif(($x_oran * $yukseklik) < $enCokYukselik){
			$tn_yukseklik = ceil($x_oran * $yukseklik);
			$tn_genislik = $enCokGenislik;
		}else{
			$tn_genislik = ceil($y_oran * $genislik);
			$tn_yukseklik = $enCokYukselik;
		}
		if ($this->uzanti == "jpg"){
			$dosya = ImageCreateFromJpeg($this->dosya);
			$cikti = ImageCreateTrueColor($tn_genislik, $tn_yukseklik);
			ImageCopyResized($cikti, $dosya, 0, 0, 0, 0, $tn_genislik, $tn_yukseklik, $genislik, $yukseklik);
			ImageJpeg($cikti, $this->cikti);
		}else{
			$dosya = ImageCreateFromGif($dosya);
			$cikti = ImageCreateTrueColor($tn_genislik, $tn_yukseklik);
			ImageCopyResized($cikti, $dosya, 0, 0, 0, 0, $tn_genislik, $tn_yukseklik, $genislik, $yukseklik);
			ImageGif($cikti, $this->cikti);
		}
		return true;
	}
}
if(isset($_FILES['dosya'])){
	$tum = new kucukResim;
	$kap = explode(".", $_FILES['dosya']['name']);
	$tum->uzanti = $kap[1];
	$tum->dosya = $_FILES['dosya']['tmp_name'];
	$tum->cikti = $kap[0]."_thumb.".$kap[1];
	if($tum->olustur(100,100)){
		echo '<img src="'.$_FILES['dosya']['name'].'">';
		echo '<img src="'.$tum->cikti.'">';
	}else{
		die("Hata");
	}
}else{
	echo '<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="dosya">
  <input type="submit" value="Yükle" accept="image/jpeg|image/gif">
	</form>'; 
} 
?>

Çıktısı

test.jpg – 150×100 – 5,21 KB
test_thumb.jpg – 100×67 – 2,87 KB