やっぱり、fsockopenでこけていますね。
エラー内容
「 php_network_getaddresses: getaddrinfo failed: Name or service not known in 」
で調べると、
http://d.hatena.ne.jp/red_snow/20090721/1248152882
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1223309312
「Name or service not known in 」で調べると
http://komputilo.blogspot.com/2011/02/lighttpdname-or-service-not-known_23.html
http://listserv.linux.or.jp/pipermail/linux-users/2010-August/000091.html
あたりが参考になりますかね。
(1つの回答につけられるのが1人3つまでという仕様があるようなので
これが最後の回答となります)
PHPに表示していた方法がわからないので、
何故表示されなくなったのかわかりませんが
相手ページのURLを表示したいなら、
(1)file_get_contents()を使う
http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1294904550
(2)get_contentsを使う
http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1220950218
(3)curlを使う
http://midilin.sakura.ne.jp/midilin/php/ppblog/index.php?UID=1221625722
これのどれかでいけないでしょうか?
ありがとうございます。こういうプログラムで表示させておりました。
わかる方にやっていただいたのですが、今は連絡がとれず、自力では到底わからず困っています^^;
$type = 'Content-type: image/png'; //画像データのMIME-type
$host = 'charts.quote.com'; //目的のホスト
$path = '/ifs/ifs?cont=NKD+1%21&period=V&varminutes=5&size=560x384&bartype=CANDLE&bardensity=high&headerbackground=9,50,165&headerforeground=255,255,255&headerdatacolor=255,255,255&studyheaderbackground=9,50,165&random=7595'; //目的のパス
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (! $fp) {
echo "$errstr ($errno)
\n";
} else {
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "User-Agent: Mozilla/5.0\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
//HTTPヘッダを読み飛ばす
while (! feof($fp)) {
$headers = fgets($fp, 8192);
if (trim($headers) == '') {
break;
}
}
//画像を読み込む(chunked形式)
$img = '';
while (! feof($fp)) {
$ss = fgets($fp);
$cnt = intval($ss, 16);
while ($cnt > 0) {
$bb = fread($fp, $cnt);
$cnt -= strlen($bb);
$img .= $bb;
}
fread($fp, 2); //\r\nをスキップ
}
fclose($fp);
header($type) ;
echo $img;
}
?>
fsockopenがうまくいっているかどうかを
まず調べる必要がありますね。
エラーは何か出ていますか?
エラーが出ていなければ、
echo "あ";
$fp = fsockopen($host, 80, $errno, $errstr, 30);
echo "い";
if (! $fp) {
echo "う";
echo "$errstr ($errno)
\n";
} else {
echo "え";
とecho文を入れると
「あ」「あい」「あいう」「あいえ」のどれが画面に出力されるでしょうか?
1つずつ、echo文入れて、どこで落ちているかをまず調べたほうがよいと思います。
もし、「あいえ」となっていれば、fsockopenが有効だと思います。
それ以外なら、fsockopenが無効になっている可能性があるので
先ほど記した、URLの3つを参考にしてみると良いかと思います。
あとは試しに、URLの部分をyahooとかのURLを入れると
yahooの内容を表示できますか?
yahooの表示ができれば、fsockopenは有効で、
シカゴ日経先物のチャートの方で、拒否されているのかもしれません。
こんなエラーが出ています^^;
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /virtual/fxjpy/public_html/chart.moneytokyo.com/cmechart_v.php on line 6
Warning: fsockopen() [function.fsockopen]: unable to connect to charts.quote.com:80 (Unknown error) in /virtual/fxjpy/public_html/chart.moneytokyo.com/cmechart_v.php on line 6
(100)
やっぱり、fsockopenでこけていますね。
エラー内容
「 php_network_getaddresses: getaddrinfo failed: Name or service not known in 」
で調べると、
http://d.hatena.ne.jp/red_snow/20090721/1248152882
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1223309312
「Name or service not known in 」で調べると
http://komputilo.blogspot.com/2011/02/lighttpdname-or-service-not-known_23.html
http://listserv.linux.or.jp/pipermail/linux-users/2010-August/000091.html
あたりが参考になりますかね。
(1つの回答につけられるのが1人3つまでという仕様があるようなので
これが最後の回答となります)
ありがとうございます。再びこの質問を立てたいと思うので、引き続き返答にご協力頂けますと嬉しいです。ご紹介頂いたURLで解決できるのでしょうか?これは運用しているレンタルサーバーの問題なのか、チャート提供している会社側の対応なのか?それとも別の原因なのか?プログラムを書き換えれば表示できるものなのか?ご教授頂けたらと思います。
ありがとうございます。再びこの質問を立てたいと思うので、引き続き返答にご協力頂けますと嬉しいです。ご紹介頂いたURLで解決できるのでしょうか?これは運用しているレンタルサーバーの問題なのか、チャート提供している会社側の対応なのか?それとも別の原因なのか?プログラムを書き換えれば表示できるものなのか?ご教授頂けたらと思います。