<?phpheader('Content-Type: text/html; charset=utf-8');class resimYukleyici{public $isim;public $tip;public $boyut;public $gecici;public $hata;public $resim;public $kucukresim;public $mesaj;public $yeniresim;public $yenikucukresim;public function __construct(){global $_FILES;$this->hata = $_FILES['image']['error'];if($this->hata != 0){$this->mesaj = $this->hata;$this->mesaj;return false;}else{$this->isim = $_FILES['image']['name'];$this->tip = $_FILES['image']['type'];$this->boyut = $_FILES['image']['size'];$this->gecici = $_FILES['image']['tmp_name'];return true;}}public function validate($maxdosyaboyutu,$minresimboyutu){if($this->tip != 'image/jpeg' && $this->tip != 'image/gif' && $this->tip != 'image/png'){$this->mesaj = 'Hatali dosya formati.';return false;}if($this->boyut > $maxdosyaboyutu){$this->mesaj = 'Dosya cok buyuk.';return false;}$boyut = getimagesize($this->gecici);if($boyut[0] < $minresimboyutu || $boyut[1] < $minresimboyutu){$this->mesaj = 'boyutlar cok kucuk.';return false;}else{return true;}}public function kirp($maxBoyut, $maxKucukBoyut){list($orjinalgenislik, $orjinalyukseklik) = getimagesize($this->gecici);if($orjinalgenislik > $orjinalyukseklik){$genislik = $maxBoyut;$yukseklik = intval($maxBoyut*($orjinalyukseklik/$orjinalgenislik));$kucukgenislik = $maxKucukBoyut;$kucukyukseklik = intval($maxKucukBoyut*($orjinalyukseklik/$orjinalgenislik));}else if($orjinalgenislik < $orjinalyukseklik){$genislik = intval($maxBoyut*($orjinalgenislik/$orjinalyukseklik));$yukseklik = $maxBoyut;$kucukgenislik = intval($maxKucukBoyut*($orjinalgenislik/$orjinalyukseklik));$kucukyukseklik = $maxKucukBoyut;}else{$genislik = $maxBoyut;$yukseklik = $maxBoyut;$kucukgenislik = $maxKucukBoyut;$kucukyukseklik = $maxKucukBoyut;}$this->resim = imagecreatetruecolor($genislik,$yukseklik);$this->kucukresim = imagecreatetruecolor($kucukgenislik, $kucukyukseklik);if($this->tip == 'image/gif'){$kaynakresim = imagecreatefromgif($this->gecici);}else if($this->tip == 'image/jpeg'){$kaynakresim = imagecreatefromjpeg($this->gecici);}else{$kaynakresim = imagecreatefrompng($this->gecici);}imagecopyresampled($this->resim,$kaynakresim,0,0,0,0,$genislik,$yukseklik,$orjinalgenislik,$orjinalyukseklik);imagecopyresampled($this->kucukresim,$kaynakresim,0,0,0,0,$kucukgenislik,$kucukyukseklik,$orjinalgenislik,$orjinalyukseklik);}public function yukle($dizin,$kalite){$uzanti = explode('.',$this->isim);$isim=date("YmdHis").rand(1,100);$this->yeniresim = $isim.'.'.$uzanti[1];$this->yenikucukresim = $isim.'kucuk.'.$uzanti[1];if($this->tip == 'image/gif'){imagegif($this->resim, ($dizin.$this->yeniresim));imagegif($this->kucukresim, $dizin.$this->yenikucukresim);}else if($this->tip == 'image/jpeg'){imagejpeg($this->resim, $dizin.$this->yeniresim, $kalite);imagejpeg($this->kucukresim, $dizin.$this->yenikucukresim, $kalite);}else{imagepng($this->resim,$dizin.$this->yeniresim);imagepng($this->kucukresim,$dizin.$this->yenikucukresim);}$this->mesaj = 'Dosya yuklendi.';}}if (isset($_POST['yukle'])){$dizin=dirname(__FILE__)."/";$i=new resimYukleyici;$i->kirp(250,250);$i->yukle($dizin ,100);echo $i->yeniresim.'<br>';echo '<img src="/'.$i->yeniresim.'">';}else{echo '<form action="" method="post" enctype="multipart/form-data"><input type="file" name="image"><input type="submit" name="yukle" value="Yükle"></form>';}?>
Çıktısı
2018062622193729.png