<?php header('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