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 相关文章推荐
从一个不错的留言本弄的mysql数据库操作类
Sep 02 PHP
PHP开发中常用的三个表单验证函数使用小结
Mar 03 PHP
PHP实现多进程并行操作的详解(可做守护进程)
Jun 18 PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 PHP
PHP实现ftp上传文件示例
Aug 21 PHP
typecho插件编写教程(三):保存配置
May 28 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
discuz图片顺序混乱解决方案
Jul 29 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
浅谈关于PHP解决图片无损压缩的问题
Sep 01 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
php 使用 __call实现重载功能示例
Nov 18 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 $_SERVER详解
2009/01/16 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
深入浅析jQuery对象$.html
2016/08/22 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
微信小程序 页面跳转事件绑定的实例详解
2017/09/20 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
[01:15]PWL S2开团时刻第二期——他们杀 我就白给
2020/11/25 DOTA
python3使用urllib示例取googletranslate(谷歌翻译)
2014/01/23 Python
Python中的choice()方法使用详解
2015/05/15 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
python requests 测试代理ip是否生效
2018/07/25 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
Python+OpenCV+pyQt5录制双目摄像头视频的实例
2019/06/28 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
python爬取抖音视频的实例分析
2021/01/19 Python
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
德国网上花店:Valentins
2018/08/15 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
文明家庭先进事迹材
2014/01/27 职场文书
白酒市场营销方案
2014/02/25 职场文书
酒店员工职业生涯规划
2014/02/25 职场文书
房屋买卖协议书
2014/04/10 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
晚会开幕词
2015/01/28 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书