みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

flickrでの画像を取得について

次の関数はflickr.interesting.getListでflickrから人気の高い画像を取得する関数ですが、パラメータのdateを指定すると
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\flickr-interesting.php on line 34
と表示されます。

date => 2013-07-24,の行を消すと画像が正常に表示されます。

dateを指定するにはどうすればいいでしょうか?

function search_photos($per_page, $page) {
$proxy = array(
"http" => array(
"proxy" => "tcp://大学のIPアドレス",
'request_fulluri' => true,
),
);
$proxy_context = stream_context_create($proxy);

$params = array(
'method' => 'flickr.interestingness.getList',
'api_key' => API_KEY,
'date' => 2013-07-24,
'per_page' => $per_page,
'page' => $page

);
$pictureSize = "b";

$query = http_build_query($params, '', '&');
$url = 'http://www.flickr.com/services/rest/?' . $query;
//$data = @simplexml_load_string(@file_get_contents($url));
$data = @simplexml_load_string(@file_get_contents($url, false, $proxy_context));

if ($data === false) { return 'エラー' . PHP_EOL; }

$ret = '';
$format = '<a href="http://www.flickr.com/photos/%s/%s/"><img src="http://farm%s.static.flickr.com/%s/%s_%s_m.jpg" alt="%s"></a>' . PHP_EOL;

foreach ($data->photos->photo as $p) {
$ret .= sprintf($format, $p['owner'], $p['id'], $p['farm'], $p['server'], $p['id'], $p['secret'], $p['title'], $pictureSize);
}

return $ret;

}

投稿日時 - 2013-07-25 12:31:10

QNo.8191181

困ってます

質問者が選んだベストアンサー

dateは普通にFlicker APIでYYYY-MM-DD形式で使えるようなので、
'date' => '2013-07-24',
のように囲んでもダメでしょうか?

投稿日時 - 2013-07-26 05:15:08

お礼

回答ありがとうございました。
シングルクォーテーションで囲んだら直りました。

投稿日時 - 2013-07-27 08:46:23

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問