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环境搭建最新方法
Sep 05 PHP
一个查看session内容的函数
Oct 09 PHP
php动态生成JavaScript代码
Mar 09 PHP
php实现用户在线时间统计详解
Oct 08 PHP
phpmyadmin config.inc.php配置示例
Aug 27 PHP
浅析PHP程序设计中的MVC编程思想
Jul 28 PHP
PHP打开和关闭文件操作函数总结
Nov 18 PHP
php导入模块文件分享
Mar 17 PHP
php对文件进行hash运算的方法
Apr 03 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
PHP实现随机发放扑克牌
Apr 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及Zend Engine的线程安全模型分析
2011/11/10 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
JQuery 选择器 xpath 语法应用
2010/05/13 Javascript
解析JSON对象与字符串之间的相互转换
2013/12/18 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
Jquery全选与反选点击执行一次的解决方案
2015/08/14 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
Fullpage.js固定导航栏-实现定位导航栏
2016/03/17 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
简单实现jQuery轮播效果
2017/08/18 jQuery
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
浅谈ElementUI中switch回调函数change的参数问题
2018/08/24 Javascript
koa源码中promise的解读
2018/11/13 Javascript
微信jssdk逻辑在vue中的运用详解
2018/11/14 Javascript
Python有序查找算法之二分法实例分析
2017/12/11 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
整个世界的设计师家具在哈恩:Designathome
2019/03/25 全球购物
四年级下册教学反思
2014/02/01 职场文书
房屋继承公证书
2014/04/10 职场文书
人民调解员先进事迹材料
2014/05/08 职场文书
数学系毕业生求职信
2014/05/29 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
大学生饮品店创业计划书范文
2019/07/10 职场文书
pytorch实现ResNet结构的实例代码
2021/05/17 Python