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 相关文章推荐
PHP入门速成(2)
Oct 09 PHP
用PHP生成自己的LOG文件
Oct 09 PHP
php分页示例代码
Mar 19 PHP
java EJB 加密与解密原理的一个例子
Jan 11 PHP
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
Apr 17 PHP
phpmailer发送gmail邮件实例详解
Jun 24 PHP
用php代码限制国内IP访问我们网站
Sep 26 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
Nov 05 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
Apr 01 PHP
浅谈使用 Yii2 AssetBundle 中 $publishOptions 的正确姿势
Nov 08 PHP
Laravel5.7框架安装与使用学习笔记图文详解
Apr 02 PHP
Yii框架分页技术实例分析
Aug 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写的AES加密解密类分享
2014/06/20 PHP
php解析http获取的json字符串变量总是空白null
2015/03/02 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
PHP实现权限管理功能示例
2017/09/22 PHP
Laravel下生成验证码的类
2017/11/15 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
JS 时间显示效果代码
2009/08/23 Javascript
JavaScript String.replace函数参数实例说明
2013/06/06 Javascript
点击显示指定元素隐藏其他同辈元素的方法
2014/02/19 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
利用Vue.js指令实现全选功能
2016/09/08 Javascript
JavaScript使用Range调色及透明度实例
2016/09/25 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
2017/05/10 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
Vue动态加载图片在跨域时无法显示的问题及解决方法
2020/03/10 Javascript
js实现从右往左匀速显示图片(无缝轮播)
2020/06/29 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
Python 多线程实例详解
2017/03/25 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
Python logging模块原理解析及应用
2020/08/13 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
Python timeit模块原理及使用方法
2020/10/10 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
领先的钻石和订婚戒指零售商:Diamonds-USA
2016/12/11 全球购物
大学生的网上创业计划书
2013/12/31 职场文书
化工专业大学生职业生涯规划书
2014/01/14 职场文书
事务机电主管工作职责
2014/02/25 职场文书
投标承诺书范本
2014/03/27 职场文书
安全演讲稿大全
2014/05/09 职场文书
小学运动会开幕词
2015/01/28 职场文书
内乡县衙导游词
2015/02/05 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python