• 技术文章 >后端开发 >php教程

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

    2016-06-07 17:26:23原创297
    开始教你怎么弄
    一、需要有一个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,"
    ");
    $return = substr($wf,$star,1000);
    $end2=strpos($return,"");
    $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
    完成。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:天气预报 短信
    上一篇:php下几个常用的去空、分组、调试数组函数_php实例 下一篇:php 动态多文件上传_php实例
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 使用 MySQL 开始 PHP 会话_php技巧• PHP里的单例类写法实例_PHP• php抽象类使用要点与注意事项分析_PHP• ThinkPHP控制器里javascript代码不能执行的解决方法_PHP• php+mysql实现数据库随机重排实例_PHP
    1/1

    PHP中文网