8
2013
IMDb Sitesinden Film Bilgilerini Getirme Fonksiyonu
IMDb sitesi dünya üzerinden yayınlanan film ve benzeri yayınlarla ilgili hemen her türlü bilginin, incelemenin yer aldığı büyük bir veritabanı sitesidir. Birçok kişi filmleri izlemeden önce, ya da sinemaya gitmeden önce bu sitedeki incelemeleri izler ve eğer izlemeye değer ise sinemaya gider ya da evde izler. Eğer filmlerle ilgili bilgi veren bir sitemiz varsa, IMDB sitesindeki bilgilere; film başlığı, yayın yılı, yönetmeni, oyuncuları, en önemlisi film afişi vb. bilgileri bir fonksiyon ile ulaşabilirsiniz.
Ne yazık ki IMDb sitesi bize bu bilgileri doğrudan veren bir API'ye sahip değil. Ancak www.omdbapi.com sitesi bize bu konuda yardımcı olacak. Bu site belirli zamanlarda, IMBd'de yer alan bilgileri kendi bünyesine almakta ve bizlere bir API yardımıyla sunmaktadır.
Aşağıdaki kod bu API'ye verdiğiniz film ID'si ile bir istekte bulunur. Eğer film bilgilerine ulaşılırsa, film bilgilerini bir dizi olarak aktarır ayrıca filmin poster resim dosyasını alıp, afisler isimli klasöre (kod içerisinden kendiniz değiştirebilirsiniz) filmin id'si .jpg olarak (tt1285016.jpg gibi) kaydeder, eğer afiş resmi yoksa bu durumda değer olarak afisler/afisyok.jpg dosyası bilgisini döndürür.
<?php function yakuphoca_imdb_bilgi_cek($id){ $bilgi=json_decode(file_get_contents('http://www.omdbapi.com/?i='.$id),true); if ( $bilgi['Response']=='True' ) return false; if ( isset($bilgi['Poster']) && $bilgi['Poster']!='N/A') { $poster_resmi=file_get_contents($bilgi['Poster']); file_put_contents( 'afisler/'.$id.'.jpg', $poster_resmi ); $bilgi['Poster']='afisler/'.$id.'.jpg'; }else{ $bilgi['Poster']='afisler/afisyok.jpg'; } return $bilgi; } //fonksiyonun kullanımı $filmbilgi = yakuphoca_imdb_bilgi_cek('tt1285016'); //gelen bilgileri aşağıdaki kod ile yazdırarak görebilirsiniz echo '<pre>'; print_r($filmbilgi); echo '</pre>'; ?>
Fonksiyonu bir dosyaya (örneğin film.php) yapıştırıp, kaydedin. Dosyayı kaydettiğiniz yerle aynı yerde afisler adında bir klasör oluşturun. Ardından dosyayı tarayıcı üzerinden çalıştırın. Aşağıdaki gibi bir ekran görüntüsüyle karşılayacaksınız. Eğer hata vs. olursa afisler klasörünün var olduğundan ve yazılabilir olduğundan emin olun. Aşağıdaki görüntü kendi bilgisayarımda WampServer üzerinden çalıştırdığım localhost görüntüsüdür.
Gördüğünüz gibi fonksiyon gayet güzel bilgiler getiriyor. Size düşen şey, filmin ID'sini bir şekilde elde edip, fonksiyona bildirmek ve gelen bilgileri düzgün bir şekilde ziyaretçiye göstermek.
Eğer WordPress gibi bir siteniz varsa, yazacağınız bir eklenti ile yazı yazma ekranında bir yere yazdığınız film ID'sini alıp, bilgileri çekip, özel alanlara ya da yazı içerisine enjekte edebilirsiniz. Ya da sitenizde hangi CMS'yi kullanıyorsanız ona uygun bir kod yazdırabilirsiniz. Benden şimdilik bu kadar.
bunuda boş bir zamanımda denemeliyim :) belki biraz daha değiştirebilirim. teşekkür ederim.