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+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
解析CodeIgniter自定义配置文件
Jun 18 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
Dec 22 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
Jan 19 PHP
PHP PDOStatement::fetchAll讲解
Jan 31 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
laravel邮件发送的实现代码示例
Jan 31 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+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
php根据身份证号码计算年龄的实例代码
2014/01/18 PHP
php多文件上传实现代码
2014/02/20 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
thinkphp5实现无限级分类
2019/02/18 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
2011/03/17 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
JavaScript取得键盘按下方向键是哪个的方法
2015/08/04 Javascript
JavaScript实现简单Tip提示框效果
2016/04/20 Javascript
JavaScript 最佳实践:帮你提升代码质量
2016/12/03 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
JS实现的A*寻路算法详解
2018/12/14 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
python的id()函数介绍
2013/02/10 Python
python随机生成指定长度密码的方法
2015/04/04 Python
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
2019/04/26 Python
python编写计算器功能
2019/10/25 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Python局部变量与全局变量区别原理解析
2020/07/14 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
css3截图_动力节点Java学院整理
2017/07/11 HTML / CSS
办公室文员工作自我评价
2013/12/01 职场文书
初中数学教学反思
2014/01/16 职场文书
学习2014年全国两会心得体会
2014/03/12 职场文书
企业人事任命书
2014/06/05 职场文书
2015年安全生产管理工作总结
2015/05/25 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书