lostyazilim
tr.link

Curl İle Resim Çekip Watermark Basma ve Boyutlandırma Anlatımı

2 Mesajlar 1.530 Okunma
acebozum
tr.link

BlacKStorM BlacKStorM WM Aracı Kullanıcı
  • Üyelik 26.05.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Developer
  • Konum Manisa
  • Ad Soyad S** K**
  • Mesajlar 134
  • Beğeniler 6 / 15
  • Ticaret 1, (%100)
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.

3 Farlı Boyutta Resimleri Küçültmenin Örneğini Verdim ve Bir de Watermark Örneği Koydum Kodlara.

Lazım olan bir arkadaş mutlaka bulunur.


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 ='http://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ı

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

Buradan İndirebilirsiniz.
 

 

PHPBOT.NET Haber Botu Servisi
wmaraci
reklam

ogzhntr ogzhntr WM Aracı Kullanıcı
  • Üyelik 03.03.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Elektrik - Elektronik Tekniker
  • Konum Diğer
  • Ad Soyad O** E**
  • Mesajlar 1858
  • Beğeniler 89 / 532
  • Ticaret 2, (%100)



Buda yardımcı olacaktır.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al