- Mesajlar
- 150
- Tepkime puanı
- 387
Php Resim Kırpma Sınıfı
Boş vakitleri değerlendirme amaçlı yazdığım basit bir Php resim yükleme ve kırpma sınıfıdır.Betik yüklenen resmi kırpıyor ve orjinal halinide orginals klasorune gönderiyor.Görsel eklerken daha hızlı yuklenmesini sağlamak için görsellerinizi kırpma işlemi için kullanabilirsiniz
index.php
Boş vakitleri değerlendirme amaçlı yazdığım basit bir Php resim yükleme ve kırpma sınıfıdır.Betik yüklenen resmi kırpıyor ve orjinal halinide orginals klasorune gönderiyor.Görsel eklerken daha hızlı yuklenmesini sağlamak için görsellerinizi kırpma işlemi için kullanabilirsiniz
index.php
PHP:
<?php
error_reporting(E_ALL);
error_reporting(0);
include('upload.class.php');
?>
<form action="index.php" method="POST" enctype="multipart/form-data">
<input type="file" name="dosya" />
<input type="submit" value="Gönder" />
</form>
<?php
$dosyayol=$_FILES['dosya']['tmp_name'];
$dosyaadi=$_FILES['dosya']['name'];
$dboyut=$_FILES['dosya']['size'];
$dtip=$_FILES['dosya']['type'];
$resim=new Resim;
$resim->upload($dosyayol,$dtip,$dosyaadi,$dboyut);
$resim->boyutlandir(150,150);
?>
upload.class.php
<?php
class Resim {
protected $dizin="thumb"; //resimlerin kırpılacağı dizin
protected $thumb="images/thumb";
protected static $dosyaadi;
protected static $gelendosyaadi;
protected $uzanti=".jpeg"; //resim uzantıları
protected $gecerliuzanti=array("image/jpeg","image/pjpeg","image/png","image/gif"); //izin veriler yükleme uzantılrı
protected $dosyayol;
protected $yeniad;
protected $maxboyut="2000"; //İzin verilen dosya boyutu kb cinsinden
public function upload($dosyayol,$dtip,$dosyaadi,$boyut){
self::$gelendosyaadi=$dosyaadi;
if(empty($dosyayol)){
echo"Dosya seçilmemiş";
}
else{
if(!in_array($dtip,$this->gecerliuzanti)){
echo"sadece resim dosyası yuklenebilir";
}
else{
if($boyut>$this->maxboyut*1024){
echo "2mbdan büyük olamaz";
}
else{
$this->yeniad=md5(uniqid($dosyaadi));
self::$dosyaadi=$this->yeniad;
move_uploaded_file($dosyayol,$this->dizin."/".$this->yeniad.$this->uzanti);
copy($this->dizin."/".self::$dosyaadi.$this->uzanti,$this->dizin."/orginals/".self::$dosyaadi.$this->uzanti);
}
}
}
}
public function boyutlandir($yukseklik="150",$genislik="150"){
//resmin ismini girin
$resim=$this->dizin."/".self::$dosyaadi.$this->uzanti;
//yeni resmin genişliğini girin
$r_genislik=$genislik;
//yeni resmin yüksekliğini girin
$r_yukseklik=$yukseklik;
//resmin bilgilerinin alınması
list($gen, $yuk, $type) = getimagesize($resim);
//en ve boy oranının hesaplanması
$enOran = $r_genislik / $gen;
$boyOran = $r_yukseklik / $yuk;
//aranın ayarlanması
if($enOran > $boyOran){
$yEn = floor($gen * $enOran);
$yBoy = floor($yuk * $enOran);
}else{
$yEn = floor($gen * $boyOran);
$yBoy = floor($yuk * $boyOran);
}
//kesilmeye başlangıç noktalarının hesaplanaması
$fEn = floor(0 - (($yEn - $r_genislik) / 2));
$fBoy = floor(0 - (($yBoy - $r_yukseklik) / 2));
//resmin hafızaya alınması
$o_img = imagecreatefromjpeg($resim);
//renklerin belirlenmesi
$g_img = imagecreatetruecolor($r_genislik, $r_yukseklik);
//resmi keserek oluşturma
imagecopyresampled($g_img,$o_img,$fEn,$fBoy,0,0,$yEn,$yBoy,$gen,$yuk);
imagejpeg($g_img, ''.$resim);
//resmin kaynağını silme
imagedestroy($o_img);
imagedestroy($g_img);
}
}
?>