Unsplash gibi yerden resim çekme php
$searchParam = htmlspecialchars($_GET['q']);
Merhabalar,
Bu arama komutu ile ne arandığında unsplash veya benzeri yerden resim nasıl çekebiliriz ?
5 6 tane slider tarzı resim çekebilme şansımız var ise api ile, güzel olur.
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
<?php
// $_GET['q'] ile aranan değere uygun unsplash.com'dan resim getiren fonksiyon
function get_image($q)
{
$url = "https://source.unsplash.com/featured/?" . $q; // resim url'si
$ch = curl_init(); // curl başlat
curl_setopt($ch, CURLOPT_URL, $url); // url ayarla
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // çıktıyı döndür
$output = curl_exec($ch); // çıktıyı al
$info = curl_getinfo($ch); // bilgileri al
curl_close($ch); // curl kapat
return $info['url']; // resim url'sini döndür
}
// $_GET['q'] değeri yoksa varsayılan olarak "nature" gönderiyoruz
$q = isset($_GET['q']) ? $_GET['q'] : "nature";
// kullanıcıdan arama değeri alıyoruz
$searchParam = htmlspecialchars($q);
// arama değerine göre resim getiriyoruz
$image = get_image($searchParam);
// resmi ekrana yazdırıyoruz
echo '<img src="' . $image . '" alt="' . $searchParam . '" />';
@h4ckdr0 çok teşekkürler :) Ayrıca 5 veya 10 tane getirmek için bir seçeneğimiz var mı ?
Birde eğer böyle bir özellik var ise, google,yandex resimler görsellere benzer getirebilme olayı var ise çok sevinirim :) yani api.unsplash.com gibisinden.
Çünkü örneğin atatürk diye arama yapıldığında başka resimler çıkıyor ne yazık ki.
Merhaba,
Unsplash için API mevcut (https://unsplash.com/developers) adresine girip detaylı bilgi alabilirsin
Ayrıca php için hazır kütüphanesi mevcut ona da (https://github.com/unsplash/unsplash-php) bu adresten bakabilirsin
Ayrıca api key muhabbetine girmek istemiyorsan sadece rastgele tek fotoğraf çekmek için bir apiside mevcut (https://source.unsplash.com/random) bu adrese her girdiğinde rastgele bi' görsele yönlendirecektir seni