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令牌 Token改进版
Jul 18 PHP
Php获取金书网的书名的实现代码
Jun 11 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
Jul 25 PHP
PHP5.3安装Zend Guard Loader图文教程
Sep 29 PHP
PHP连接操作access数据库实例
Mar 30 PHP
PHP实现图片上传并压缩
Dec 22 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
Aug 21 PHP
Smarty模板类内部原理实例分析
Jul 03 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 REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
为指定元素增加样式的js代码
2009/12/09 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
2011/01/09 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
JavaScript制作弹出层效果
2016/12/02 Javascript
require.js中的define函数详解
2017/07/10 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
jQuery插件实现图片轮播效果
2020/10/19 jQuery
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
Python中使用不同编码读写txt文件详解
2015/05/28 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
基于Python的文件类型和字符串详解
2017/12/21 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
selenium+PhantomJS爬取豆瓣读书
2019/08/26 Python
使用PyCharm进行远程开发和调试的实现
2019/11/04 Python
python实现简单的购物程序代码实例
2020/03/03 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
怎样写好自我鉴定
2013/12/04 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
酒店营销策划方案
2014/02/07 职场文书
企业新年寄语
2014/04/04 职场文书
房产买卖委托公证书
2014/04/04 职场文书
119消防日活动总结
2014/08/29 职场文书
道歉短信大全
2015/05/12 职场文书
2016年学校招生广告语
2016/01/28 职场文书
Python如何配置环境变量详解
2021/05/18 Python