dポイントプレゼントキャンペーン実施中!

次の関数は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;

}

A 回答 (1件)

dateは普通にFlicker APIでYYYY-MM-DD形式で使えるようなので、


'date' => '2013-07-24',
のように囲んでもダメでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/07/27 08:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!