en basit şekilde bir bot yazdım. kaynak sitedeki resimleri alıyorum. buraya kadar güzel. fakat yetmiyor. bunları hostuma indirmek ve üzerine watermark yerleştirmek istiyorum.
basitinden örnek uygulama var mı acaba? biraz araştırdım curl ile yapılbiliyormuş. fakat şuana kadar botta curl kullanmadım. yardımcı olabileceklere şimdiden tşkler.
bot ile çektiğim resimleri watermark ile sunucuya kaydetme
28
●3.476
- 04-03-2014, 16:22:04Üyeliği durduruldu
function FileDown($url,$isim,$yol){ if(strlen(seofonksiyon($isim)) > 25){ $sade = substr(seofonksiyon($isim),0,25); }else{ $sade = seofonksiyon($isim);} $uzanti = strtolower(substr(strrchr($url, "."), 1)); if(strpos($uzanti,"?")){ $bol = explode("?",$uzanti); $uzanti = $bol[0];} $fullfilename = $sade.'.'.$uzanti; if(function_exists('curl_init')){ $fp = fopen($yol.$fullfilename,'w+'); $ch = curl_init(); curl_setopt($ch , CURLOPT_URL, $url); curl_setopt($ch , CURLOPT_USERAGENT, 'firefox/2.0.11'); curl_setopt($ch , CURLOPT_FILE, $fp); curl_exec($ch); curl_close($ch); fclose($fp); }else{ copy($url,$yol.$fullfilename);} return $fullfilename; } $resim = "resimyolu yazılacak"; $baslik = "resimadiyazılacak"; $resimindir = FileDown($resim,$baslik,"kaydedilecekklasor/"); - 04-03-2014, 18:00:33hemen deniyorum.
Sample adlı üyeden alıntı: mesajı görüntüle
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:00:33 -->-> Daha önceki mesaj 17:46:33 --
function FileDown($url,$isim,$yol) buradaki değişkenleri nasıl eşitlemem gerekilyor?
$url için = "resimurlsmi?";
$isime ne yüklemeliyim?
$yolu nasıl göstermeliyim? public_html içinde resimlerim diye klasörüm var oraya eklmek istiyorum.
bide aşağıda başlık ve yol var.
$resim = "resimyolu yazılacak";
$baslik = "resimadiyazılacak";
$resimindir = FileDown($resim,$baslik,"kaydedilecekklasor/");
bir resim urlsi üzerinden örnekleyebilrmisin rica etsem.
örnek resim urlsi
http://www.ajansspor.com/resimv3/lebron_040314.jpg
Sample adlı üyeden alıntı: mesajı görüntüle - 04-03-2014, 18:39:37@buddy;
Bilgisayarında veya sunucunda Composer kurulu değilse şu yazımı okumanı tavsiye ediyorum.
composer.json;
{ "minimum-stability": "dev", "require": { "imsaintx/utils": "dev-master", "sybio/image-workshop": "dev-master" } }test.php dosyamız;
<?php # Hata raporlamayı aktifleştirelim ve E_ALL seviyesine getirelim. error_reporting(E_ALL); # Dosya dahil etme yolunun ön tanımlı değerini değiştirelim. set_include_path(str_replace("\\", "/", dirname(realpath(__FILE__)))); # Tarih/Zaman problemlerini engellemek için ön tanımlı zamandilimini değiştirelim. date_default_timezone_set("Europe/Istanbul"); # Bağımlılıkları yükleyelim. require("vendor/autoload.php"); # Kullanacağımız sınıfları çalışma alanımızda tanımlayalım. use \Tools\Utils; use \PHPImageWorkshop\ImageWorkshop; # Çalışma sayfamızın tipini "image/jpeg" karakter setini "UTF-8" yapalım. Utils::utf8_header("image/jpeg"); # Resim URL adresimiz $image_url = "http://placekitten.com/600/550"; # Watermark URL adresimiz $watermark_url = "https://www.r10.net/avatars/52908.gif"; # Resmimi ve Watermark'ı $response değişkenine toplayalım. $response = (object) array( "image" => Utils::curl_get_contents($image_url)->body, "watermark" => Utils::curl_get_contents($watermark_url)->body ); # Katmanları oluşturalım. $image_layer = ImageWorkshop::initFromString($response->image); $watermark_layer = ImageWorkshop::initFromString($response->watermark); # Watermark'ı resme entegre edelim. $image_layer->addLayer(1, $watermark_layer, 18, 12, "RB"); # Sonucu alalım. $result = $image_layer->getResult(); # Ekrana yazalım. imagejpeg($result, null, 100); # %100 kaliteye ayarlayalım. # Dosyaya kaydedelim. # 1. parametre: klasör # 2. parametre: dosya ismi # 3. parametre: klasör yoksa oluştursun mu? # 4. parametre: arkaplan rengi # 5. parametre: resim kalitesi $image_layer->save(".", "image.jpg", false, null, 100);çıktı;
- 04-03-2014, 18:57:38linux host kullanıyorum. sunucuda compesorun olup olmadını nasıl anlayabilirim? bir de eğer yoksa kurmamda herhangi bir sakınca varmıdır sunucu firma açısından vs. veya aşırı cpu kullanımı gibi..
saintx adlı üyeden alıntı: mesajı görüntüle - 04-03-2014, 19:10:40cmd den mi diyorsun? hiç host için konsol kullanmadım. soru içinde soru soruyorumsaintx adlı üyeden alıntı: mesajı görüntüle