'플리커'에 해당되는 글 1건

  1. 2007.03.28 Flickr Random Image

Flickr Random Image

IT 2007. 3. 28. 00:10

Flick Api에는 랜덤으로 이미지를 받아오는 함수가 없다. 개인적인 용도로 쓸 생각에
+) 특정 유저의 사진 리스트를 받아서
+) 랜덤으로 한 장만 출력하는
함수를 찾아보았는데 마땅히 찾을 수가 없어 열받은 나머지 직접 만들었다.

처음에는 Python 바인딩으로 제작할 생각이었는데, 제로보드 아웃로그인 때문에 메인페이지를 PHP로 쓰게 되는 바람에 할 수 없이 PHP로 제작. 태어나서 처음으로 PHP를 만져보는거라 완전 맨땅에 헤딩이라 죽을 고생을 했음..에도 불구하고 코드는 여전히 거지같아 마음이 아프다. PHP 바인딩인 PhpFlickr(http://phpflickr.com/)가 있어야만 하며 PEAR의 is_a() 함수때문에 php 버전이 4.2 이하이면 동작하지 않는다. 서버가 4.1.2였는데 마침 이전 신청을 해 둬서 다행.

<?php
       require_once("phpFlickr/phpFlickr.php");
       $f = new phpFlickr("insert API Key");
       $f -> enableCache("db","[DB User]:[DB Password]@[DB Server]/[DB Name]");

          // Find the NSID of the username inputted via the form
          $person = $f->people_findByUsername('username');
 
          // Get the user's photo lists
       $recent = $f->people_getPublicPhotos($person['id'], NULL, NULL);
       
       // Get total image number&shuffle it
       $totalimagenumber = $recent['total'];
       $r = rand(0,$totalimagenumber - 1);

       // Get Image's ID
       $id    =    $recent['photo'][$r]['id'];
       
       // Get Image's url
       $image = $f->photos_getSizes($id);
       
       echo "<img border = '0' src = " . $image[3]['source'] . ">";  
        //echo "<img border = '0' src = " . $image[4]['source'] . ">";
       ?>

적당히 붙여넣고 바로 사용 가능. 부러 phpflickr를 부르는 부분을 분리하지 않았다.
: