php采集自中央气象台范围覆盖全国的天气预报代码实例


Posted in PHP onJanuary 04, 2015

本文实例讲述了php采集自中央气象台范围覆盖全国的天气预报代码。分享给大家供大家参考。具体分析如下:

天气预报信息采集自中央气象台,信息准确,覆盖面广,代码简单,返回是json代码,可以用于客户端调用,也可以在服务器端处理后显示,笔者的wordpress天气预报插件就是使用的这段代码,需要注意的是,这段代码会在服务器产生缓存文件,需要在当前目录中新建data文件夹,保证文件夹可写.

php天气预报代码如下:

/* 

作者:    freemouse 

主页:    www.cnphp.info 

接口demo: http://www.cnphp.info/tianqi 

用法: 可以直接调用上面的地址会显示当地的天气信息,也可以这样用 

http://www.cnphp.info/tianqi/?q=江苏省南京市 

**/
$p = $_get['q'];  

$k = 0;  

$encoding = mb_detect_encoding($p);  

if($encoding != "utf-8"){  

        $p = mb_convert_encoding($p,"utf-8","gbk");  

}  

$p_arr = array(  

       "01" => "北京",  

      "02" => "上海",  

      "03" => "天津",  

      "04" => "重庆",  

      "05" => "黑龙江",  

      "06" => "吉林",  

      "07" => "辽宁",  

      "08" => "内蒙古",  

      "09" => "河北",  

      "10" => "山西",  

      "11" => "陕西",  

      "12" => "山东",  

      "13" => "新疆",  

      "14" => "西藏",  

      "15" => "青海",  

      "16" => "甘肃",  

      "17" => "宁夏",  

      "18" => "河南",  

      "19" => "江苏",  

      "20" => "湖北",  

      "21" => "浙江",  

      "22" => "安徽",  

      "23" => "福建",  

      "24" => "江西",  

      "25" => "湖南",  

      "26" => "贵州",  

      "27" => "四川",  

      "28" => "广东",  

      "29" => "云南",  

      "30" => "广西",  

      "31" => "海南",  

      "32" => "香港",  

      "33" => "澳门",  

      "34" => "台湾" 

); 
function find(&$item,$key,$data){  

        global $k;  

        if(preg_match("/$item/u",$data)){  

           $k = $key;  

        }  

} 
function get_data_arr($key){  

        if(!file_exists("./data/city{$key}.xml")){  

            $c =file_get_contents( "http://m.weather.com.cn/data5/city{$key}.xml" );  

            file_put_contents("./data/city{$key}.xml",$c);  

        }  

        else{  

            $c = file_get_contents("./data/city{$key}.xml");  

        }  

       $arr = explode(",",$c);  

       foreach($arr as $v){  

           $data = explode("|",$v);  

           $ret[$data[0]] = $data[1];  

       }

       return $ret;  

} 
array_walk($p_arr,'find',$p);  

array_walk(get_data_arr($k),'find',$p);  

array_walk(get_data_arr($k),'find',$p);  

$ccode = get_data_arr($k);  

echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
解决ajax+php中文乱码的方法详解
Jun 09 PHP
浅谈Eclipse PDT调试PHP程序
Jun 09 PHP
PHP中的事务使用实例
May 26 PHP
php数组合并与拆分实例分析
Jun 12 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
Jul 28 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 PHP
php模仿asp Application对象在线人数统计实现方法
Jan 04 #PHP
THINKPHP2.0到3.0有哪些改进之处
Jan 04 #PHP
浅谈thinkphp的实例化模型
Jan 04 #PHP
Thinkphp中的curd应用实用要点
Jan 04 #PHP
PHP+jquery实时显示网站在线人数的方法
Jan 04 #PHP
thinkphp备份数据库的方法分享
Jan 04 #PHP
js+php实现静态页面实时调用用户登陆状态的方法
Jan 04 #PHP
You might like
8个必备的PHP功能实例代码
2013/10/27 PHP
微信公众平台接口开发入门示例
2014/12/24 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
2017/09/20 PHP
有关JavaScript的10个怪癖和秘密分享
2011/08/28 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
基于jQuery实现仿淘宝套餐选择插件
2015/03/04 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
javascript 数据存储的常用函数总结
2017/06/01 Javascript
ionic2自定义cordova插件开发以及使用(Android)
2017/06/19 Javascript
js学习总结_基于数据类型检测的四种方式(必看)
2017/07/04 Javascript
ionic3+Angular4实现接口请求及本地json文件读取示例
2017/10/11 Javascript
微信小程序的生命周期的详解
2017/10/19 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
详解ES6 Promise的生命周期和创建
2019/08/18 Javascript
深入浅析vue中cross-env的使用
2019/09/12 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
解决Vue大括号字符换行踩的坑
2020/11/09 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
介绍Python中的一些高级编程技巧
2015/04/02 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
python-docx文件定位读取过程(尝试替换)
2020/02/13 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
公务员个人自我评价分享
2013/11/06 职场文书
网络研修随笔感言
2014/02/17 职场文书
创业女性典型材料
2014/05/02 职场文书
大专应届毕业生求职信
2014/07/15 职场文书
《称赞》教学反思
2016/02/17 职场文书
2019军训心得体会
2019/06/27 职场文书
MySQL 计算连续登录天数
2022/05/11 MySQL