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 preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
php遍历数组的方法分享
Mar 22 PHP
php二维数组排序与默认自然排序的方法介绍
Apr 27 PHP
PHP将XML转数组过程详解
Nov 13 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
php实现将字符串按照指定距离进行分割的方法
Mar 14 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
Nov 05 PHP
PHP模板引擎Smarty内置变量调解器用法详解
Apr 11 PHP
php fread读取文件注意事项
Sep 24 PHP
PHP实现Unicode编码相互转换的方法示例
Nov 17 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 PHP
php微信公众号开发之关键词回复
Oct 20 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上传图片类(随机名,缩略图,加水印)
2010/06/30 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
jquery easyui combobox模糊过滤(示例代码)
2013/11/30 Javascript
JS实现字符串转日期并比较大小实例分析
2015/12/09 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
laypage分页控件使用实例详解
2016/05/19 Javascript
JS中使用变量保存arguments对象的方法
2016/06/03 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
python实现将文本转换成语音的方法
2015/05/28 Python
DRF跨域后端解决之django-cors-headers的使用
2019/01/27 Python
理想高通滤波实现Python opencv示例
2019/01/30 Python
Pandas之ReIndex重新索引的实现
2019/06/25 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
如何获取Python简单for循环索引
2019/11/21 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
2020/04/03 Python
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
Sandro法国官网:法国成衣品牌
2019/08/28 全球购物
员工薪酬福利制度
2014/01/17 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
2016年寒假家长评语
2015/10/10 职场文书
《确定位置》教学反思
2016/02/18 职场文书
表扬稿表扬信的格式及范文
2019/06/24 职场文书
Django使用echarts进行可视化展示的实践
2021/06/10 Python