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 相关文章推荐
第十一节--重载
Nov 16 PHP
php array_map array_multisort 高效处理多维数组排序
Jun 11 PHP
浅析php与数据库代码开发规范
Aug 08 PHP
浅谈PHP变量作用域以及地址引用问题
Dec 27 PHP
PHP中list方法用法示例
Dec 01 PHP
浅谈PHP的反射API
Feb 26 PHP
php中bind_param()函数用法分析
Mar 28 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
laravel model 两表联查示例
Oct 24 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
Dec 30 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
PHP 文件类型判断代码
2009/03/13 PHP
PHP在线调试执行的实现方法(附demo源码)
2016/04/28 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
IE JS编程需注意的内存释放问题
2009/06/23 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
分步解析JavaScript实现tab选项卡自动切换功能
2016/01/25 Javascript
jQuery实现点击水纹波动动画
2016/04/10 Javascript
Angular2 之 路由与导航详细介绍
2017/05/26 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
解决Vue watch里调用方法的坑
2020/11/07 Javascript
[05:20]2018DOTA2亚洲邀请赛主赛事第三日战况回顾 LGD率先挺进胜者组决赛
2018/04/06 DOTA
python 数据清洗之数据合并、转换、过滤、排序
2017/02/12 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
使用selenium模拟登录解决滑块验证问题的实现
2019/05/10 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python telnet登陆功能实现代码
2020/04/16 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
MyHeritage美国:家族史研究和DNA测试的领先服务
2019/05/27 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
专科文秘应届生求职信
2013/11/18 职场文书
升职自荐信
2013/11/28 职场文书
2014年母亲节寄语
2014/05/07 职场文书
小学模范班主任事迹材料
2014/05/13 职场文书
拉歌口号大全
2014/06/13 职场文书
车间安全生产管理制度
2015/08/06 职场文书
详细聊聊关于Mysql联合查询的那些事儿
2021/10/24 MySQL
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS