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 全文搜索和替换的实现代码
Jul 29 PHP
关于Sphinx创建全文检索的索引介绍
Jun 25 PHP
PHP实现数字补零功能的2个函数介绍
May 12 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
yum命令安装php7和相关扩展
Jul 04 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
用PHP做了一个领取优惠券活动的示例代码
Jul 05 PHP
php实现推荐功能的简单实例
Sep 29 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
Oct 18 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 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
将博客园(cnblogs.com)数据导入到wordpress的代码
2013/01/06 PHP
解析posix与perl标准的正则表达式区别
2013/06/17 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
javascript不同页面传值的改进版
2008/09/30 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
jQuery实现tab选项卡效果的方法
2015/07/08 Javascript
AngularJS  ng-repeat遍历输出的用法
2017/06/19 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
React+TypeScript+webpack4多入口配置详解
2019/08/08 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
[01:04]DOTA2:伟大的Roshan雕塑震撼来临
2015/01/30 DOTA
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
[01:45]典藏宝瓶2+祈求者身心——这就是DOTA2TI9总奖金突破3000万美元的秘密
2019/07/21 DOTA
python连接sql server乱码的解决方法
2013/01/28 Python
python安装twisted的问题解析
2018/08/21 Python
Python3中关于cookie的创建与保存
2018/10/21 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
在pycharm中实现删除bookmark
2020/02/14 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
解决pyinstaller打包运行程序时出现缺少plotly库问题
2020/06/02 Python
python实现学生信息管理系统(精简版)
2020/11/27 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
入股协议书范本
2014/04/14 职场文书
民主评议党员工作总结
2014/10/20 职场文书
初中生毕业评语
2014/12/29 职场文书
年度考核个人总结
2015/03/06 职场文书
2015年维修电工工作总结
2015/04/25 职场文书
单位综合评价意见
2015/06/05 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书