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 相关文章推荐
用文本文件实现的动态实时发布新闻的程序
Oct 09 PHP
发款php蜘蛛统计插件只要有mysql就可用
Oct 12 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
php自定义apk安装包实例
Oct 20 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
Jan 21 PHP
php生成rss类用法实例
Apr 14 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
Mar 28 PHP
php strftime函数的详细用法
Jun 21 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
Sep 30 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PhpStorm连接服务器并实现自动上传功能
Dec 09 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 正则表达式常用函数
2014/08/17 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
ECshop 迁移到 PHP7版本时遇到的兼容性问题
2016/02/15 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
Prototype Hash对象 学习
2009/07/19 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
javascript查找字符串中出现最多的字符和次数的小例子
2013/10/29 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
javascript实现显示和隐藏div方法汇总
2015/08/14 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
javascript自定义滚动条实现代码
2020/04/20 Javascript
完美实现js选项卡切换效果(一)
2017/03/08 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
Gulp实现静态网页模块化的方法详解
2018/01/09 Javascript
vue自定义组件实现双向绑定
2021/01/13 Vue.js
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
kafka-python 获取topic lag值方式
2019/12/23 Python
学python需要去培训机构吗
2020/07/01 Python
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
德国家具在线:Fashion For Home
2017/03/11 全球购物
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
Anthropologie英国:美国家喻户晓的休闲服装和家居产品品牌
2018/12/05 全球购物
房产公证书
2015/01/23 职场文书
工程质检员岗位职责
2015/04/08 职场文书
2016公司年会通知范文
2015/04/25 职场文书
开票证明
2015/06/23 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
创业计划书之面包店
2019/09/12 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS