PHP'de Curl ve Verot.net Upload Sınıfıyla Resim İşlemleri


Merhaba Arkadaşlar Bir Çoğumuz Direk Resimleri Karşı Sitelerden Aldığımız Gibi Bırakıyoruz Sitelerimizde.
ve Sitelerimizde Çok Büyük Boyutlu Resimler oldugunda Sitemiz Doğal Olarak Yavaşlıyor.


PHP- Kodu:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<?


include('class.upload.php');


// Seo Link ve Url Fonksiyonu


function Clear($w){


$w = preg_replace("@[^a-z0-9\öşıüğçİŞĞÜÖÇ ]+@i","",$w);


$tr = array("ı","Ğ","ğ","Ü","ü","Ş","ş","İ","Ö","ö","Ç", "ç","&","<",">","+"," ");


$en = array("i","g","g","u","u","s","s","i","o","o","c", "c","","","","","-");


$w = str_replace($tr,$en,$w);


return @strtolower($w);


}


$title ='PhpBot.net Resim Boyutlandırma ve Watermark';//içerik başlıgı


$seotitle =Clear($title);// burada içerik başlığını sef link haline getiriyoruz.


$seotitles =Clear($title);// burada içerik başlığını sef link haline getiriyoruz.


$resim ='https://www.phpbot.net/files/logo/e59bf07805.png'; //boyutlandırılacak olan ve Watermark basılacak resimin url si


$ruzanti=substr($resim,-4);// resmimizin uzantısını alıyoruz


$ch=curl_init();


curl_setopt($ch,CURLOPT_URL,$resim);


curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);


$user_agent = "Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.19) Gecko/20080528 Epiphany/2.22";


curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);


$date=curl_exec($ch);


curl_close($ch);


$haber_resim="$seotitle$ruzanti";


file_put_contents("files/temp/".$haber_resim,$date);//burada resmimizi kendi sitemize geçici bir klasöre çekiyoruz


$rresim="$haber_resim";


$dosya = 'files/temp/'.$rresim.'';//geçici klasörümüze çekmiş olduğumuz resim


//geçici klasörümüzdeki resimleri gerekli klasörlere boyutlandırarak dağıtmaya başlıyoruz


$imageresizes = new Upload($dosya);


global $seotitle;


if ( $imageresizes->uploaded ){


$imageresizes->allowed = array('image/*');


$imageresizes->image_min_height = 100;


$imageresizes->image_min_width = 100;


$imageresizes->image_watermark = 'watermark-resminiz.png';//buraya watermark resminizin adını yazıyorsunuz.


$imageresizes->image_watermark_position = 'BR';


$imageresizes->file_new_name_body = $seotitle;


$imageresizes->image_resize = true;


$imageresizes->image_ratio_crop = true;


$imageresizes->image_x = 675;


$imageresizes->image_y = 300;


$imageresizes->Process('files/675-300/');// burada resmimizi files/675-300/ klasörüne 675x300 px olarak boyutlandırıp taşıdık


if ( $imageresizes->processed ){


$image1=''.$imageresizes->file_dst_name.'';// $image1 yeni Resmin Adı


}


$imageresizes->allowed = array('image/*');


$imageresizes->image_min_height = 100;


$imageresizes->image_min_width = 100;


$imageresizes->file_new_name_body = $seotitle;


$imageresizes->image_resize = true;


$imageresizes->image_ratio_crop = true;


$imageresizes->image_x = 300;


$imageresizes->image_y = 240;


$imageresizes->Process('files/300-240/');// burada resmimizi files/300-240/ klasörüne 300x240 px olarak boyutlandırıp taşıdık


if ( $imageresizes->processed ){


$image2=''.$imageresizes->file_dst_name.'';// $image2 yeni Resmin Adı


}


$imageresizes->allowed = array('image/*');


$imageresizes->image_min_height = 100;


$imageresizes->image_min_width = 100;


$imageresizes->file_new_name_body = $seotitle;


$imageresizes->image_resize = true;


$imageresizes->image_ratio_crop = true;


$imageresizes->image_x = 120;


$imageresizes->image_y = 90;


$imageresizes->Process('files/120-90/');// burada resmimizi files/120-90/ klasörüne 120x90 px olarak boyutlandırıp taşıdık


if ( $imageresizes->processed ){


$thumbimage=''.$imageresizes->file_dst_name.'';// $thumbimage yeni Resmin Adı


}


}


unlink('files/temp/'.$rresim.'');//burada son olarak geçici klasörümüzdeki dosyayı siliyoruz ve işlemi tamamlıyoruz





print ''.$image1.' Resmi Başarılı Bir Şekilde files/675-300/ Klasörüne Boyutlandırılıp Watermark Basılıp Taşındı.';


print ''.$image2.' Resmi Başarılı Bir Şekilde files/300-240/ Klasörüne Boyutlandırılıp Taşındı.';


print ''.$thumbimage.' Resmi Başarılı Bir Şekilde files/120-90/ Klasörüne Boyutlandırılıp Taşındı.';


print 'files/temp/'.$rresim.' Geçici Klasörümüzdeki Resim Başarıyla Silindi';

Kodlarımız bu şekilde arkadaşlar.


class.upload.php Dosyasını


https://www.verot.net/php_class_upload_download.htm


Buradan İndirebilirsiniz.