人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

yahooAPIの使い方を初心者向けで解説しているサイトはないでしょうか??
yahooAPIを使用してデータを読み込みたいのですがエラーになります。

$url = "http://api.map.yahoo.co.jp/LocalSearchService/V1/LocalSearch";
$url .= "?appid=".$applicationId;// アプリケーションID
$url .= "&lat=35.65716694";// 緯度
$url .= "&lon=139.732451945";// 経度
$url .= "&dist=1"; // 対象範囲
$url .= "&category=address";//住所カテゴリ
$url .= "&al=2";//住所レベル
$contents = file_get_contents($url);

IEのアドレス欄にurlを打ち込むとデータは取得できます。
また、取得したデータを保存して同じディレクトリ内に入れて読み込むとうまくいきます。
($contents = file_get_contents(取得したデータのファイル名);)

●質問者: lily0717
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:IE URL アドレス アプリケーション エラー
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● goog20090901
●50ポイント

$urlの変数をやめて、リテラル文字列でfile_get_contentsをコールしても同じですか?

http://q.hatena.ne.jp/answer

◎質問者からの返答

はい。同じ結果になります・・・。


2 ● azuco1975
●50ポイント

simplexml_load_fileをつかってみては?

http://www.doyouphp.jp/php5/php5_simplexml.shtml

◎質問者からの返答

利用しているサーバーがPHP4なのか、使用できませんでした・・・。

追記>>

すいません!!サーバー情報調べてみたらPHP5でした!!でも、エラーです・・・。

どーも、外部のデータを引っ張ってこようとするとエラーになるっぽい・・・。

超初心者なことをしていそうなので、自分できちんと調べてみます;;


3 ● scrap49
●80ポイント

yahooAPI以外のURLは取得できるのでしょうか。

他のURLも駄目ならphp_infoでallow_url_fopenはOnになっているか確認しましょう。

Offになっていたらユーザーレベルでは変更できないので他の取得方法でチャレンジしましょう。

http://php.net/manual/ja/filesystem.configuration.php

◎質問者からの返答

ありがとうございます。

確認してみたところ、offになってました・・・。

他の方法を考えます。


4 ● Otaxa
●100ポイント ベストアンサー

php.iniなどPHPの設定で「allow_url_fopen」がOFFになっているとfile_get_contents()が使用できないことがあるようです。

もしphp.iniが編集できないよでしたら.htaccessを作成して

「php_flag allow_url_fopen on」

を書き足してみてはいかがでしょうか。

※ちなみに質問で提示いただいているコードそのままで僕の環境では動きました。


また、file_get_contentsの代わりとしてcurlが使えれば同じことができます。

関数としてはたとえば以下のようなものです。

<?php
function get_contents($url){
$contents=NULL;
//curlが使える場合は使う
if(function_exists("curl_init")){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$contents=curl_exec($ch);
curl_close($ch);
}
//使えない場合はfile_get_contentsを使う
else{
$contents=file_get_contents($url);
}
return $contents;
}
?>

どちらかが使えないと役に立たない関数ですが・・・


※ダミー(?)URLです

http://www.php.net/manual/ja/filesystem.configuration.php#ini.al...

◎質問者からの返答

ありがとうございます。

「php_flag allow_url_fopen on」を試してみましたが、同じエラーが発生しました・・・。

やはり、他の方法を考えてみます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ