flickrAPIでの画像取得について
下のphpスクリプトでflickrAPIを用いて画像を取得しようとしたらエラーが起こって取得できません。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>flickr API サンプル</title>
</head>
<body>
<h1>flickr API サンプル</h1>
<?php
set_time_limit(60);
//flickrから写真を検索してimgタグを返す関数
function search_flickr($keyword,$limit){
//取得したAPIキーを設定
$api_key = '(僕のAPIキー)';
//メソッドに写真検索を設定
$method = 'flickr.photos.search';
//検索キーワードをURLエンコードして設定
$text = urlencode($keyword);
//人気の高い順に検索
$sort = "interestingness-desc";
//取得件数を設定
$per_page = $limit;
//URLを生成
$url = 'http://www.flickr.com/services/rest/?'.
'method='.$method.
'&api_key='.$api_key.
'&text='.$text.
'&sort='.$sort.
'&per_page='.$per_page;
//取得したXMLファイルをパースし、オブジェクトに代入
$data = simplexml_load_file($url)
or die("XMLパースエラー");
//表示写真サイズをmサイズに設定
$size = "_m";
//変数初期化
$ret = "";
//取得できた写真の数だけループ処理
foreach($data->photos as $photos){
foreach($photos->photo as $photo){
$ret .= '<a href="http://www.flickr.com/photos/'.$photo['owner'].'/'.$photo['id'].'/">';
$ret .= '<img src="http://farm'.$photo['farm'].'.static.flickr.com/'.$photo['server'].'/'.$photo['id'].'_'.$photo['secret'].$size.'.jpg" alt="'.$photo['title'].'">'."\n";
$ret .= '</a>';
}
}
return $ret;
}
//検索ワード
$keyword = "sea";
//取得数
$limit = 10;
//写真を検索して表示
echo search_flickr($keyword,$limit);
?>
<p>powerd by <a href="http://www.flickr.com/services/api/">Flickr Services</a></p>
</body>
</html>
表示されたページはこうなりました。
flickr API サンプル
Warning: simplexml_load_file(http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10): in C:\xampp\htdocs\flickrAPI.php on line 38
Warning: simplexml_load_file(): I/O warning : failed to load external entity "http://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10" in C:\xampp\htdocs\flickrAPI.php on line 38
XMLパースエラー
そこでhttp://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=(僕のAPIキー)&text=sea&sort=interestingness-desc&per_page=10にアクセスすると次のようなXMLが表示されました。
<?xml version="1.0" encoding="UTF-8"?>
-<rsp stat="ok">-<photos total="9663727" perpage="10" pages="966373" page="1"><photo title="row" isfamily="0" isfriend="0" ispublic="1" farm="1" server="55" secret="86cffac801" owner="89972557@N00" id="148800272"/><photo title="Live" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7381" secret="d5af918c8c" owner="36621592@N06" id="9017742627"/><photo title="In search of the pot of gold at the end of the Rainbow..." isfamily="0" isfriend="0" ispublic="1" farm="4" server="3717" secret="bf47d94889" owner="56936646@N07" id="8851282635"/><photo title="Melting ice 130424 F368" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7404" secret="907a7c260e" owner="44855005@N04" id="8771141696"/><photo title="Coachella Valley" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7310" secret="5d47f6cb45" owner="53760536@N07" id="8729902328"/><photo title="End of a summer day" isfamily="0" isfriend="0" ispublic="1" farm="8" server="7434" secret="46a80bb865" owner="72179079@N00" id="8722395239"/><photo title="angles of sea" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8253" secret="32fc571841" owner="39638504@N07" id="8696358702"/><photo title="Summer sunset ( view larger size: please press "L")" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8261" secret="21c4642b39" owner="72179079@N00" id="8688567245"/><photo title="Smoo Cave II" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8403" secret="b6d637d603" owner="8407953@N03" id="8672345286"/><photo title="In The Middle of Nowhere" isfamily="0" isfriend="0" ispublic="1" farm="9" server="8533" secret="1ba0e8574c" owner="8407953@N03" id="8666924709"/></photos></rsp>
どうすればエラーが直るでしょうか?
お礼
詳細なご回答大変ありがとうございます。お詳しいので驚かされます。