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 array_merge下进行数组合并的代码
Jul 22 PHP
用php获取本周,上周,本月,上月,本季度日期的代码
Aug 05 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
PHP 安全检测代码片段(分享)
Jul 05 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
解决cPanel无法安装php5.2.17
Jun 22 PHP
PHP has encountered a Stack overflow问题解决方法
Nov 03 PHP
支付宝接口开发集成支付环境小结
Mar 17 PHP
Zend Framework教程之Zend_Config_Ini用法分析
Mar 23 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
设定php简写功能的方法
Nov 28 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP错误提示的关闭方法详解
2013/06/23 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
ThinkPHP实现生成和校验验证码功能
2017/04/28 PHP
一个网马的tips实现分析
2010/11/28 Javascript
js实现点击注册按钮开始读秒倒计时的小例子
2013/05/11 Javascript
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
原生JavaScript编写俄罗斯方块
2015/03/30 Javascript
JavaScript中用getDate()方法返回指定日期的教程
2015/06/09 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
JS实现根据文件字节数返回文件大小的方法
2016/08/02 Javascript
Google Maps基础及实例解析
2016/08/06 Javascript
浅谈jquery之on()绑定事件和off()解除绑定事件
2016/10/26 Javascript
$.browser.msie 为空或不是对象问题的多种解决方法
2017/03/19 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
快速解决vue在ios端下点击响应延时的问题
2018/08/27 Javascript
解决v-for中使用v-if或者v-bind:class失效的问题
2018/09/25 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
策略模式实现 Vue 动态表单验证的方法
2019/09/16 Javascript
Python面向对象编程中关于类和方法的学习笔记
2016/06/30 Python
python批量修改ssh密码的实现
2019/08/08 Python
Python中pymysql 模块的使用详解
2019/08/12 Python
python画微信表情符的实例代码
2019/10/09 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
Python数据正态性检验实现过程
2020/04/18 Python
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
医院护士见习期自我鉴定
2014/09/15 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
七一慰问简报
2015/07/20 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
代码复现python目标检测yolo3详解预测
2022/05/06 Python
springboot读取nacos配置文件
2022/05/20 Java/Android