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修改密码方法总结
Mar 25 PHP
PHP操作数组相关函数
Feb 03 PHP
一个PHP的远程图片抓取函数分享
Sep 25 PHP
php分页示例分享
Apr 30 PHP
async和DOM Script文件加载比较
Jul 20 PHP
PHP遍历文件夹与文件类及处理类用法实例
Sep 23 PHP
PHP实现清除wordpress里恶意代码
Oct 21 PHP
php遍历、读取文件夹中图片并分页显示图片的方法
Nov 15 PHP
php中namespace及use用法分析
Dec 06 PHP
YII框架模块化处理操作示例
Apr 26 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
php用户名的密码加密更安全的方法
Jun 21 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下10件你也许并不了解的事情
2008/09/11 PHP
洪恩在线成语词典小偷程序php版
2012/04/20 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
PHP处理SQL脚本文件导入到MySQL的代码实例
2014/03/17 PHP
php获取根域名方法汇总
2014/10/28 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
2019/10/15 PHP
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JS检测图片大小的实例
2013/08/21 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
vuex实现购物车功能
2020/06/28 Javascript
python33 urllib2使用方法细节讲解
2013/12/03 Python
python定时器使用示例分享
2014/02/16 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
python实现视频读取和转化图片
2019/12/10 Python
开启Django博客的RSS功能的实现方法
2020/02/17 Python
python实现3D地图可视化
2020/03/25 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
CSS3 开发工具收集
2010/04/17 HTML / CSS
canvas与html5实现视频截图功能示例
2016/12/15 HTML / CSS
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
央视元宵晚会主持串词
2014/03/25 职场文书
建筑施工安全责任书
2014/07/24 职场文书
2014政府领导班子对照检查材料思想汇报(3篇)
2014/09/26 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
旷工检讨书大全
2015/08/15 职场文书