スキーとネットとロードバイクと旅。

群馬で自由人からリーマンになった恋する男の趣味に生きるブログ。

ヤフーの画像検索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にガッチャンコ。