php結(jié)合飛信 免費天氣預(yù)報短信
更新時間:2009年05月07日 00:28:37 作者:
最近發(fā)現(xiàn)了一個飛信的API接口,為了好好利用這個資源制作了這個天氣預(yù)報短信通知。
開始教你怎么弄
一、需要有一個PHP環(huán)境。為了圖省事下載APMServ軟件快速搭建PHP環(huán)境
二、下載天氣預(yù)報短信通知PHP程序點這里下載代碼
三、修改PHP程序配置
用記事本打開WeatherForecast.php文件
<?
/**
* 飛信通知天氣預(yù)報
* 2009-4-23
*/
//禁止執(zhí)行時間限制
set_time_limit (0);
//設(shè)置MB編碼
mb_internal_encoding("GB2312");
/**
* 采集新浪天氣預(yù)報信息
*
* @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 "";
}
//截取相關(guān)信息
$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;
}
//飛信賬號設(shè)置
$Fetion['user']='';
$Fetion['pass']='';
//設(shè)置天氣預(yù)報城市
$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("天氣預(yù)報[".$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("天氣預(yù)報,明天".date("Y年m月d日")." ".$city['name']." ".$info);
@file_get_contents($url);
}
}
}
}
}
}
?>
修改
//飛信賬號設(shè)置
$Fetion['user']='自己的飛信賬號手機號';
$Fetion['pass']='登錄飛信密碼';
你所在的城市修改
//設(shè)置天氣預(yù)報城市
$citys[]=array('id'=>'bj','name'=>'北京');
修改你要收到天氣預(yù)報的手機號碼可以為多個
//北京手機號
$tel['bj'][]='137XXXXXXX';
$tel['bj'][]='137XXXXXXX';
這里的bj要與設(shè)置城市中的bj相同
好了配置完成可以測試執(zhí)行一下是否可以收到天氣預(yù)報信息。
四、設(shè)置每日定時發(fā)送
如果是WINDOWS環(huán)境設(shè)置計劃任務(wù)
開始->程序->附近->系統(tǒng)工具->計劃任務(wù)
添加任務(wù) 根據(jù)提示操作 重點在執(zhí)行程序選擇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環(huán)境。為了圖省事下載APMServ軟件快速搭建PHP環(huán)境
二、下載天氣預(yù)報短信通知PHP程序點這里下載代碼
三、修改PHP程序配置
用記事本打開WeatherForecast.php文件
復(fù)制代碼 代碼如下:
<?
/**
* 飛信通知天氣預(yù)報
* 2009-4-23
*/
//禁止執(zhí)行時間限制
set_time_limit (0);
//設(shè)置MB編碼
mb_internal_encoding("GB2312");
/**
* 采集新浪天氣預(yù)報信息
*
* @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 "";
}
//截取相關(guān)信息
$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;
}
//飛信賬號設(shè)置
$Fetion['user']='';
$Fetion['pass']='';
//設(shè)置天氣預(yù)報城市
$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("天氣預(yù)報[".$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("天氣預(yù)報,明天".date("Y年m月d日")." ".$city['name']." ".$info);
@file_get_contents($url);
}
}
}
}
}
}
?>
修改
復(fù)制代碼 代碼如下:
//飛信賬號設(shè)置
$Fetion['user']='自己的飛信賬號手機號';
$Fetion['pass']='登錄飛信密碼';
你所在的城市修改
復(fù)制代碼 代碼如下:
//設(shè)置天氣預(yù)報城市
$citys[]=array('id'=>'bj','name'=>'北京');
修改你要收到天氣預(yù)報的手機號碼可以為多個
復(fù)制代碼 代碼如下:
//北京手機號
$tel['bj'][]='137XXXXXXX';
$tel['bj'][]='137XXXXXXX';
這里的bj要與設(shè)置城市中的bj相同
好了配置完成可以測試執(zhí)行一下是否可以收到天氣預(yù)報信息。
四、設(shè)置每日定時發(fā)送
如果是WINDOWS環(huán)境設(shè)置計劃任務(wù)
開始->程序->附近->系統(tǒng)工具->計劃任務(wù)
添加任務(wù) 根據(jù)提示操作 重點在執(zhí)行程序選擇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調(diào)用API接口實現(xiàn)天氣查詢功能的示例
- PHP微信開發(fā)之查詢城市天氣
- php使用百度天氣接口示例
- PHP實現(xiàn)采集中國天氣網(wǎng)未來7天天氣
- PHP+AJAX無刷新實現(xiàn)返回天氣預(yù)報數(shù)據(jù)
- PHP 獲取指定地區(qū)的天氣實例代碼
- php實現(xiàn)的百度搜索某地天氣的小偷代碼
- PHP Ajax JavaScript Json獲取天氣信息實現(xiàn)代碼
- php采集自中央氣象臺范圍覆蓋全國的天氣預(yù)報代碼實例
- php微信開發(fā)之百度天氣預(yù)報
- PHP調(diào)用全國天氣預(yù)報數(shù)據(jù)接口查詢天氣示例
相關(guān)文章
PHP使用php-resque庫配合Redis實現(xiàn)MQ消息隊列的教程
這篇文章主要介紹了PHP使用php-resque庫配合Redis實現(xiàn)MQ消息隊列的教程,將展示php-resque的安裝部署及一個Worker隊列的運行過程,需要的朋友可以參考下2016-06-06
詳解thinkphp5+swoole實現(xiàn)異步郵件群發(fā)(SMTP方式)
這篇文章主要介紹了詳解thinkphp5+swoole實現(xiàn)異步郵件群發(fā)(SMTP方式),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10
Thinkphp 框架擴展之標(biāo)簽庫驅(qū)動原理與用法分析
這篇文章主要介紹了Thinkphp 框架擴展之標(biāo)簽庫驅(qū)動,結(jié)合實例形式分析了Thinkphp標(biāo)簽庫驅(qū)動擴展相關(guān)概念、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04
PHP實現(xiàn)賽郵SUBMAIL簡單易用短信通知實例
這篇文章主要介紹了使用PHP實現(xiàn)賽郵SUBMAIL的簡單易用短信通知實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-10-10

