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制作中间带自己定义图片二维码的方法
Jan 27 PHP
PHP定时更新程序设计思路分享
Jun 10 PHP
php使用date和strtotime函数输出指定日期的方法
Nov 14 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
ecshop实现smtp发送邮件
Feb 03 PHP
PHP连接操作access数据库实例
Mar 30 PHP
PHP数据库连接mysql与mysqli对比分析
Jan 04 PHP
php.ini中date.timezone设置详解
Nov 20 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
Apr 10 PHP
如何在PHP中使用数组
Jun 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
php操作SVN版本服务器类代码
2011/11/27 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
jQuery基本选择器选择元素使用介绍
2013/04/18 Javascript
js改变文章字体大小的实例代码
2013/11/27 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
Bootstrap模态框(modal)垂直居中的实例代码
2016/08/18 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
Angular实现的简单定时器功能示例
2017/12/28 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
2019/08/27 Javascript
vuex实现像调用模板方法一样调用Mutations方法
2019/11/06 Javascript
vue2和vue3的v-if与v-for优先级对比学习
2020/10/10 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python编写Windows Service服务程序
2018/01/04 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
Python散点图与折线图绘制过程解析
2019/11/30 Python
Python3 字典dictionary入门基础附实例
2020/02/10 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
嘻哈珠宝品牌:KRKC&CO
2020/10/19 全球购物
科室工作个人总结的自我评价
2013/10/29 职场文书
采购部部门职责
2013/12/15 职场文书
电子信息科学专业自荐信
2014/01/30 职场文书
策划总监岗位职责
2014/02/16 职场文书
同居协议书范本
2014/04/23 职场文书
法人授权委托书范本
2014/09/17 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
观看焦裕禄观后感
2015/06/09 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
使用CSS实现音波加载效果
2023/05/07 HTML / CSS