lostyazilim
tr.link

Php url'den resim boyutlandırma

5 Mesajlar 1.867 Okunma
lstbozum
tr.link

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)
Merhabalar;

Artık her gün php hakkında düzenli konu açıyorum, öğrenecek çok şeyim var :)


Bugünkü sorum,

Youtube'da, instagram'da da kullanıldığı gibi,

diyelim ki domain.com/img/logo.png diye bir resmim var. Ben bu resmi sayfaya çekerken 250*250 boyutlarında çekmek istiyorum. Bunu nasıl yaparım?

Yani örnek olarak şöyle bir linkte resmi çekeceğim;

domain.com/gorsel.php?resim=logo.png&yukseklik=250&genislik=250


Yardımcı olursanız sevinirim, internette araştırdım fakat pek kaynak bulamadım.

Örnek youtube linki : https://i.ytimg.com/vi/-ykpyhb_QPo/hqdefault.jpg?custom=true&w=196&h=110&stc=true&jpg444=true&jpgq=90&sp=68&sigh=nHYvEtWGUp0oyYd3lU7pqa67Dlw
 

 

wmaraci
reklam

dump3cz dump3cz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Yazılım
  • Konum Bilecik
  • Ad Soyad O** Ç**
  • Mesajlar 1749
  • Beğeniler 169 / 326
  • Ticaret 3, (%67)
gorsel.php'ye yazıcağın kod şu:
$resim_adi = @$_GET['resim']; //Et işareti sql injectionu önler.
$resim_yuksekligi = @$_GET['yukseklik'];
$resim_genisligi = @$_GET['genislik'];
if(!$resim_adi || !$resim_yuksekligi || !$resim_genisligi){ //Burada üçü birden boş ise kontrol ediyoruz
header("url=index.php"); //header ile geri yönlendirdik fakat ob_start(); fonksiyonunun aktif olması gerekiyor
}else{ //eğer boş değilse çalışacak fonksiyon alt yazılır ve iç içe fonksiyon dizebilirsin.
echo ''.$resim_adi'';
}


veya

echo ''.$resim_adi'';
 

 

MuhammedArslan MuhammedArslan Msa Web Tasarım Kullanıcı
  • Üyelik 19.02.2017
  • Yaş/Cinsiyet 24 / E
  • Meslek Web Developer
  • Konum Bursa
  • Ad Soyad M** A**
  • Mesajlar 933
  • Beğeniler 136 / 276
  • Ticaret 11, (%100)

dump3cz adlı üyeden alıntı

gorsel.php'ye yazıcağın kod şu:
$resim_adi = @$_GET['resim']; //Et işareti sql injectionu önler.
$resim_yuksekligi = @$_GET['yukseklik'];
$resim_genisligi = @$_GET['genislik'];
if(!$resim_adi || !$resim_yuksekligi || !$resim_genisligi){ //Burada üçü birden boş ise kontrol ediyoruz
header("url=index.php"); //header ile geri yönlendirdik fakat ob_start(); fonksiyonunun aktif olması gerekiyor
}else{ //eğer boş değilse çalışacak fonksiyon alt yazılır ve iç içe fonksiyon dizebilirsin.
echo ''.$resim_adi'';
}


veya

echo ''.$resim_adi'';


Hocam bahsettiğiniz kullanım zaten direk html üzerinden boyutlandırmaya denk oluyor. Teşekkür ederim fakat işin içine class'lar girdiği zaman boyutlandırma geçersiz kalabiliyor. Bu yüzden
'.$resim_adi'
gibi bir kullanım oluşturmaya çalışıyorum.
 

 

FikirUssu FikirUssu Yazılım Firması Kullanıcı
  • Üyelik 02.12.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad B** E**
  • Mesajlar 146
  • Beğeniler 43 / 42
  • Ticaret 41, (%100)
İstediğinizi php image kütüphanesinden yararlanarak yapabilirsiniz.

Aşağıdaki linklerin birincisi, sizinde örnek verdiğiniz gibi bir örnek, sunum yapmış. İkinci linkte yer alan dosyalar ise bu işlemi yapmak için gereken kütüphaneler yer almaktadır.

http://joedesigns.com/resizing/

https://github.com/wes/phpimageresize
 

 

wmaraci
wmaraci

HapyMan HapyMan Full Stack Developer Kullanıcı
  • Üyelik 14.05.2016
  • Yaş/Cinsiyet 32 / E
  • Meslek What do you do exactly ?
  • Konum İstanbul Avrupa
  • Ad Soyad T** T**
  • Mesajlar 561
  • Beğeniler 171 / 208
  • Ticaret 0, (%0)

# @ işereti sql inject ENGELLEMEZ [ değişken yok ise görmezden gel demeye yarar. ]
$arrME = $_GET;
$item = $arrME['img'];

// bu sql injecti önler.
array_walk_recursive($arrME, function(&$item) {
$item = htmlspecialchars($item);
});
# en hızlı yöntem resimlerin herbirini tek tek bu boyutta isimleriyle kayıt etmektir.
# 2. yöntem bu sayfada yeniden boyutlandırıp tempname ile tempten okumaktır onu araştırıp yapman lazım okadar zamanım yok :)
$imgUrl = "pathto_image/".$arrME['w']."_".$arrME['h']."_".$item.".png";
?>


AliYmn dump3cz

kişi bu mesajı beğendi.

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