ヤフーの画像検索apiを使って、フォームから検索文言を投げて画像を表示
<?php //画像を表示する関数 function yis($appid,$query,$results){ //XMLデータ取得用ベースURL $req = "http://search.yahooapis.jp/PremiumImageSearchService/V1/imageSearch"; //XMLデータ取得用リクエストURL $req .= "?appid=".$appid."&query=".$query."&resultes=".$results; //XMLファイルをパースし、オブジェクトを取得 $xml = simplexml_load_file($req) or die("xmlパースエラー"); $ret = '<div class="yis">'; $ret .= "<div>検索文言:".$_POST["query"]."<div>"; $ret .= "<div><img src=\"".$xml->Result->Url."\" alt=\"".$xml->Result->Title."\"></div>"; $ret .= "<div>".$xml->Result->Url."</div>"; $ret .= "<div>幅".$xml->Result->Width."ピクセル<div>"; $ret .= "<div>高さ".$xml->Result->Height."ピクセル<div>"; $ret .= "</div>"; return $ret; } echo "<h1>yahooの画像検索APIで検索した画像を表示する。</h1>\n"; //リクエスト用のパラメータを設定する $appid="Wkn.izyxg65hbOzzSLDVLHUeXkPpT6ZQMNxU_NkbRd59bkG3Z2xckmZh7W5BVWI-";//自分のアプリケーションIDを設定 $query=urlencode($_POST["query"]);//検索クエリーを変数に代入 $results="10";//結果の数を10に設定 //表示するための自分で定義した関数をコール echo yis($appid,$query,$results); ?>
先ほどの画像表示をちょっと変えて、フォームから文言を渡せるようにしました。
受け取った文言はURLエンコードを行って、変数に代入し、リクエストURLにガッチャンコ。