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 相关文章推荐
别人整理的服务器变量:$_SERVER
Oct 20 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
探讨如何在PHP开启gzip页面压缩实例
Jun 09 PHP
PHP魔术方法__GET、__SET使用实例
Nov 25 PHP
8个PHP程序员常用的功能汇总
Dec 18 PHP
php多线程并发实现方法
Sep 30 PHP
[原创]php正则删除img标签的方法示例
May 27 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
php脚本守护进程原理与实现方法详解
Jul 20 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
基于Laravel实现的用户动态模块开发
Sep 21 PHP
通过PHP实现获取访问用户IP
May 09 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
使用PHP免费发送定时短信的实例
2016/10/24 PHP
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
深入剖析JavaScript编程中的对象概念
2015/10/21 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
JavaScript 函数的执行过程
2016/05/09 Javascript
AngularJS HTML DOM详解及示例代码
2016/08/17 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
Python对象体系深入分析
2014/10/28 Python
python中OrderedDict的使用方法详解
2017/05/05 Python
python实现树形打印目录结构
2018/03/29 Python
使用python存储网页上的图片实例
2018/05/22 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
html5的新玩法——语音搜索
2013/01/03 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
售后主管岗位职责
2013/12/08 职场文书
房产委托公证书样本
2014/04/04 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
给市场的环保建议书
2014/05/14 职场文书
本科应届生求职信
2014/08/05 职场文书
2014年财政工作总结
2014/12/10 职场文书
2015年考研复习计划
2015/01/19 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
治庸问责工作总结
2015/08/11 职场文书