• Özkan Arıcı

  • 2.023 görüntülenme

  • 15 Kasım 2016

  • 0

  • Beğen

Php basit 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

<?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);

    }

}

?>

kaynak dosya :resimclass

Yazar: Özkan Arıcı

326 yazı yazmış
Profilini Gör
YORUM YAP

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir.

*

code