php结合飞信 免费天气预报短信


Posted in PHP onMay 07, 2009

开始教你怎么弄
一、需要有一个PHP环境。为了图省事下载APMServ软件快速搭建PHP环境
二、下载天气预报短信通知PHP程序点这里下载代码
三、修改PHP程序配置
用记事本打开WeatherForecast.php文件

<? 
/** 
* 飞信通知天气预报 
* 2009-4-23 
*/ //禁止执行时间限制 
set_time_limit (0); 
//设置MB编码 
mb_internal_encoding("GB2312"); 
/** 
* 采集新浪天气预报信息 
* 
* @param string $city    城市名称 
* @return unknown 
*/ 
function getWF($city){ 
    if(empty($city)) return ""; 
    $wf=@file_get_contents('http://php.weather.sina.com.cn/search.php?city='.urlencode($city).'&f=1&dpc=1'); 
    if (empty($wf)){ 
        return ""; 
    } 
    //截取相关信息 
    $return = ""; 
    $star=strpos($wf,"<div class=\"blk-s3\">"); 
    $return = substr($wf,$star,1000); 
    $end2=strpos($return,"<!-- box end-->"); 
    $return = strip_tags(substr($return,0,$end2)); 
     
    //过滤 
    $return = str_replace(" ","",$return); 
    $return = str_replace(" ","",$return); 
    $return = str_replace("\t","",$return); 
    $return = str_replace("\n","",$return); 
    $return = str_replace("℃","度",$return); 
    $return = str_replace("≤","",$return); 
    $return = trim(str_replace("\r",",",$return),","); 
    $return = str_replace("~","-",$return); 
    $return = str_replace(":",":",$return); 
    //返回值 
    return $return; 
} 
//飞信账号设置 
$Fetion['user']=''; 
$Fetion['pass']=''; 
//设置天气预报城市 
$citys[]=array('id'=>'bj','name'=>'北京'); 
$citys[]=array('id'=>'sy','name'=>'沈阳'); 
//北京手机号 
$tel['bj'][]='137XXXXXXX'; 
$tel['bj'][]='137XXXXXXX'; 
//沈阳手机号 
$tel['sy'][]='138XXXXXXXX'; 
$tel['sy'][]='137XXXXXXX'; 

if (is_array($citys)&&count($citys)>0){ 
    //遍历城市 
    foreach($citys as $city){ 
        //获取采集信息 
        $info=getWF($city['name']); 
        if (!empty($info)){ 
            if (is_array($tel[$city['id']])&&count($tel[$city['id']])>0){ 
                //大信息量处理 
                if (mb_strlen($info)>171){ 
                    $sum=ceil(mb_strlen($info)/168)-1; 
                    for($i=0;$i<=$sum;$i++){ 
                        $starj=168*$i; 
                        $qInfo=mb_substr($info,$starj,168); 
                        $n=$i+1; 
                        foreach($tel[$city['id']] as $val){ 
                            $url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天气预报[".$n."],"."明天".date("Y年m月d日")." ".$city['name']." ".$qInfo); 
                            @file_get_contents($url); 
                        } 
                    } 
                }else{ 
                    foreach($tel[$city['id']] as $val){ 
                        $url="http://sms.api.bz/fetion.php?username=".$Fetion['user']."&password=".$Fetion['pass']."&sendto=".$val."&message=".urlencode("天气预报,明天".date("Y年m月d日")." ".$city['name']." ".$info); 
                        @file_get_contents($url); 
                    } 
                } 
            } 
        } 
    } 
} 
?>

修改
//飞信账号设置 
$Fetion['user']='自己的飞信账号手机号'; 
$Fetion['pass']='登录飞信密码';

你所在的城市修改
//设置天气预报城市 
$citys[]=array('id'=>'bj','name'=>'北京');

修改你要收到天气预报的手机号码可以为多个
//北京手机号 
$tel['bj'][]='137XXXXXXX'; 
$tel['bj'][]='137XXXXXXX';

这里的bj要与设置城市中的bj相同
好了配置完成可以测试执行一下是否可以收到天气预报信息。
四、设置每日定时发送
如果是WINDOWS环境设置计划任务
开始->程序->附近->系统工具->计划任务
添加任务 根据提示操作 重点在执行程序选择PHP.exe
选择你安装APMServ所在位子我本地的是D:\APMServ5.2.6\PHP\php.exe WeatherForecast.php绝对路径
我本地为 D:\APMServ5.2.6\PHP\php.exe D:\APMServ5.2.6\www\htdocs\WeatherForecast.php
完成。
PHP 相关文章推荐
多文件上载系统完整版
Oct 09 PHP
用PHP实现ODBC数据分页显示一例
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
提高php运行速度的一些小技巧分享
Jul 03 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
Aug 14 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 PHP
PHP文件上传主要代码讲解
Sep 30 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
Laravel框架查询构造器 CURD操作示例
Sep 04 PHP
PHP 身份证号验证函数
May 07 #PHP
php 购物车的例子
May 04 #PHP
PHP 错误之引号中使用变量
May 04 #PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
May 02 #PHP
apache2.2.4+mysql5.0.77+php5.2.8安装精简
Apr 29 #PHP
PHP 读取文件的正确方法
Apr 29 #PHP
PHP session有效期问题
Apr 26 #PHP
You might like
Yii Framework框架获取分类下面的所有子类方法
2014/06/20 PHP
关于WordPress的SEO优化相关的一些PHP页面脚本技巧
2015/12/10 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
关于query Javascript CSS Selector engine
2013/04/12 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
基于Vue过渡状态实例讲解
2017/09/14 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
2019/01/08 Javascript
python线程池的实现实例
2013/11/18 Python
Python使用gRPC传输协议教程
2018/10/16 Python
对web.py设置favicon.ico的方法详解
2018/12/04 Python
django 多数据库及分库实现方式
2020/04/01 Python
Python发起请求提示UnicodeEncodeError错误代码解决方法
2020/04/21 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
static函数与普通函数有什么区别
2015/12/25 面试题
新员工培训个人的自我评价
2013/10/09 职场文书
驾驶员岗位职责
2014/01/29 职场文书
银行见习期自我鉴定
2014/01/29 职场文书
中学家长会邀请函
2014/02/03 职场文书
中青班党性分析材料
2014/02/16 职场文书
前处理班长职位说明书
2014/03/01 职场文书
银行委托书范本
2014/04/04 职场文书
交通事故协议书范文
2014/04/16 职场文书
《傅雷家书》教学反思
2014/04/20 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
师德师风的心得体会
2014/09/02 职场文书
创业计划书之家教托管
2019/09/25 职场文书
python pygame入门教程
2021/06/01 Python
php去除deprecated的实例方法
2021/11/17 PHP
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL