‘Phlickr’ タグのついている投稿

PHPでFlickrからPhlickrを使ってグループ検索

Phlickrを使って、グループIDとライセンス指定で写真を検索してくる方法です。

$api = new Phlickr_Api(API_KEY, API_SECRET);

$request = $api->createRequest('flickr.photos.search', array(
    'group_id' => GROUP_ID, // グループID
    'license' => '4,5,6', // ライセンス設定(商用利用可)
));
$photoList = new Phlickr_PhotoList($request, 500); // 1ページ500件

$pageCount = $photoList->getPageCount();
for ($i = 1 ; $i < $pageCount ; $i++) {
    $photos = $photoList->getPhotosFromPage($i);
    foreach ($photos as $photo) {
        // something nice
    }
}

PhlickrのbuildImgUrlでPhoto IDが桁あふれ

PHPでFlickrを簡単に扱えるPhlickrを使っているのですが、Phlickr_PhotoクラスのbuildImgUrlで取得した画像のURLにアクセスしたら、「This photo is currently unavailable」の文字。

URL中のPhoto IDの入る箇所が2147483647(0x7FFFFFFF)になっていました。

ということでPhoto.phpを修正。551行目。

        $url = sprintf("http://farm%d.static.flickr.com/%d/%d_%s%s.%s",
            $this->getFarm(), $this->getServer(), $this->getId(), $this->getSecret(), $sizeStr, $type);

3番目の%dを%sに。

        $url = sprintf("http://farm%d.static.flickr.com/%d/%s_%s%s.%s",
            $this->getFarm(), $this->getServer(), $this->getId(), $this->getSecret(), $sizeStr, $type);

これで解決。