2011-04-29 5 views
0

나는 포토 세트를 기반으로 이미지 세트를 검색하는 PHP 코드가있다. 이 코드를 조작하여 검색 용어의 그림 세트를 가져오고 싶습니다. Flickr API 검색?

그냥이 코드

<?php 
    $params = array(
'api_key' => '2292bec0973f91d9f62fb606f85ee031', 
'method' => 'flickr.photosets.getPhotos', 
'photoset_id' => '72157622566216264', 
'extras' => 'original_format', 
'format' => 'php_serial' 
); 
    $encoded_params = array(); 
    foreach ($params as $k => $v){ $encoded_params[] = urlencode($k).'='.urlencode($v); } 

    $ch = curl_init(); 
    $timeout = 5; // set to zero for no timeout 
    curl_setopt ($ch, CURLOPT_URL, 'http://api.flickr.com/services/rest/?'.implode('&',    $encoded_params)); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); 
    $file_contents = curl_exec($ch); 
    curl_close($ch); 

    $rsp_obj = unserialize($file_contents); 

    if ($rsp_obj['stat'] == 'ok') { 

    $photos = $rsp_obj["photoset"]["photo"]; 

echo " 
    <ul>"; 

foreach($photos as $photo) { 

      $farm    = $photo['farm']; 
      $server   = $photo['server']; 
      $photo_id   = $photo['id']; 
      $secret   = $photo['secret']; 
      $photo_title  = $photo['title']; 

     echo '<li><img   src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].'_t.jpg" alt="'.$photo['title'].'" ></li>'; 

    } 
     echo " 
      </ul> 

      "; 

} else { 
     echo "Error getting photos"; 
    } 
    ?> 
+0

이 질문은 대답하기가 어렵습니다. 코드 스 니펫에 대해 얼마나 많이 알고 있는지, 그리고 응답에서 가장 많이 차지하는 지에 대한 통찰력이 없습니다. – ZJR

+0

이것은 모두 코드입니다.이 특정 코드는 params 배열에 정의 된 사진 세트의 flickr에서 사진 배열을 가져옵니다. 이 매개 변수는 URL을 통해 이미지를 검색합니다. 필자는 포토 셋 ID를 찾는 대신 검색 태그를 찾고 flickr.photos.search 메서드를 사용하도록 태그를 변경하려고했습니다. 어떤 api에 prebuilt입니다. 사진을 찍는 것이 어떤 방법을 사용하던간에 상관없이 똑같은 변수를 간단하게 바꿀 수 있다고 생각했습니다. – DIM3NSION

답변

3

에 적용 할 수 있습니다 당신이 문서를 읽어나요 궁금 flickr.photos.search :

난 당신이 API에 메소드 붙박이을 사용할 수 있습니다 알아? flickr.photos.search

이러한 방법은 유사한 데이터를 반환하지만, 최상위 배열의 이름 (포토 대 photoset) 다르다. 당신의 매개 변수를 수정 된 가정하면 올바른 방법을 사용하고 적절한 인수를 전달하기 위해 변경할 필요가있는 유일한 것은이 라인 :

$photos = $rsp_obj["photos"]["photo"];