PHP天気予報コードの例

WBOY
WBOYオリジナル
2016-07-25 08:55:571493ブラウズ
  1. /**
  2. * php 天気予報コード
  3. * by bbs.it-home.org
  4. */
  5. if(!isset($_GET['q'])){
  6. //IPに基づいて位置情報をクエリ
  7. $p = file_get_contents("http : //bbs.it-home.org/ip/?q={$_SERVER['HTTP_X_FORWARDED_FOR']}");
  8. }
  9. else{
  10. $p = $_GET['q'];
  11. }
  12. $k = 0;
  13. $encoding = mb_detect_encoding($p);
  14. if($encoding != "UTF-8"){
  15. $p = mb_convert_encoding($p,"utf-8","gbk");
  16. }
  17. $ p_arr = array(
  18. "01" => "北京",
  19. "02" => "上海",
  20. "03" => "天津",
  21. "04" => "重慶",
  22. " 05" => "黒竜江省"、
  23. "06" => "吉林"、
  24. "08" => "内モンゴル"、
  25. "09" => ; " "河北"、
  26. "10" => "山西"、
  27. "11" => "陝西"、
  28. "12" => "山東"、
  29. "13" => "新疆"、
  30. "14" => "チベット"、
  31. "15" => "甘粛省"、
  32. "18" => ; "河南"、
  33. "19" => "江蘇"、
  34. "20" => "湖北"、
  35. "21" => "浙江"、
  36. "22" => "安徽"、
  37. "23" = > "福建"、
  38. "24" =>、
  39. "25" => "貴州"、
  40. "27" =>
  41. "28" => "広東"、
  42. "29" => "広西"、
  43. "32" => ; "香港",
  44. "33" => "マカオ",
  45. "34" => "台湾" );
  46. function find(&$item,$key,$data){
  47. global $k ;
  48. if(preg_match("/$item/u",$data)){
  49. $k = $key;
  50. }
  51. }
  52. function get_data_arr($key){
  53. if(!file_exists("./data/ city{$key}.xml")){
  54. $c =file_get_contents( "http://m.weather.com.cn/data5/city{$key}.xml" );
  55. file_put_contents("./data/ city{$key}.xml",$c);
  56. }
  57. else{
  58. $c = file_get_contents("./data/city{$key}.xml");
  59. }
  60. $arr =explode("," ,$c);
  61. foreach($arr as $v){
  62. $data =explode("|",$v);
  63. $ret[$data[0]] = $data[1];
  64. }
  65. return $ret;
  66. }
  67. array_walk($p_arr,'find',$p);
  68. array_walk(get_data_arr($k),'find',$p);
  69. array_walk(get_data_arr($k),'find', $p);
  70. $ccode = get_data_arr($k);
  71. echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");
  72. ?>
  73. コードをコピー
  74. 興味があるかもしれない記事:
PHP は yahoo Sina API 天気予報実装コードを呼び出します
Google Weather APIを呼び出すPHPのサンプルコード
現在の天気情報を取得するための Google API php コード

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。