限制结果Flickr Api以避免来自用户的重复照片?

时间:2011-03-10 22:36:03

标签: php api flickr

尝试从某个位置输出flickr图像,而不是使用任何地理位置,只使用该位置的字符串,但这对另一个主题来说是个问题:)。

问题是当我为那个地方调用flickr.photos.search时,我可能会从单个用户那里得到一些结果。 PHP中是否有任何简单的方法来限制它,但仍然保持我请求的图像数量?

我希望每个不同的用户拥有12张图片,而不是使用少数用户填充输出。我知道这很容易实现,但它在我的大脑尖端,我似乎无法写出来。

1 个答案:

答案 0 :(得分:0)

这是我的目标。

` $ users = array();

foreach($rsp->photos->photo as $photo)
{
    $photo_owner = $photo["owner"];
    $photo_id = $photo['id'];
    $photo_title = $photo['title'];
    $photo_url = "http://flickr.com/photos/" . $photo_owner . "/" . $photo_id . "/";
    $flickr_getSizes = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=$api_key&photo_id=$photo_id";


    // If its not in an array, add it and output the image
    if (!in_array($photo_owner, $users)){

        array_push($users, $photo_owner);

        $flickr_getSizes = "http://api.flickr.com/services/rest/?method=flickr.photos.getSizes&api_key=$api_key&photo_id=$photo_id";
        $sizes_rsp = getXML($flickr_getSizes);

        foreach($sizes_rsp->sizes->size as $size){

            if ($size['label'] == $preferredSize) {
                echo '<li>';
                echo '<a href="' . $photo_url . '"><img src="' . $size['source'] .'"/></a>';
                echo '<h3><a href="' . $photo_url . '">' . $p_title . '</a></h3>';
                echo '</li>';

            }

        }

    }

}`

上面还有更多,但它只获取XML。