PHP飞信通知天气预报_API版
PHP飞信通知天气预报_API版 br / 如果条件允许可以在服务器上用计划任务 每天在固定时间给自己或亲人发送天气预报 br / 采用飞信官方web接口 br / 有时可能由于服务器速度问题可能造成发
PHP飞信通知天气预报_API版
如果条件允许可以在服务器上用计划任务 每天在固定时间给自己或亲人发送天气预报
采用飞信官方web接口
有时可能由于服务器速度问题可能造成发送不成功.属于正常现象.
http://w.ibtf.net
如果条件允许可以在服务器上用计划任务 每天在固定时间给自己或亲人发送天气预报
采用飞信官方web接口
有时可能由于服务器速度问题可能造成发送不成功.属于正常现象.
http://w.ibtf.net
<?php /***************************************************************************/ /******************* PHP飞信通知天气预报_API版 *******************************/ /*************************** 2011-12-5 ************************************/ /**************************作者:xiaogg*************************************/ /***************************版本:2.11**************************************/ /*********************http://www.bitefu.net********************************/ header("content-Type: text/html; charset=utf-8"); function curl_file_get_contents($durl){ if(function_exists('curl_setopt')){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $durl); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_); curl_setopt($ch, CURLOPT_REFERER,_REFERER_); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $r = curl_exec($ch); curl_close($ch); }else if(function_exists('file_get_contents')){ $r=file_get_contents($durl); }else if(function_exists('file')){ $r=file($durl);$r = implode('', $r); }else{ $r="获取内容失败"; } return $r; } //删除空格 function wtrimall($str,$type=0) { $str= str_replace(" ","*-*",$str); $str= str_replace(" ","*-*",$str); $str= str_replace("\t","*-*",$str); $str_s= str_replace("\n","*-*",$str); $str= str_replace("*-*","",$str_s); if($type==1)return $str_s;else return $str; } //对数组进行键值排序 function wchangearray($str) { return array_values(array_filter($str)); } function wtext($city,$weather_txt="weahter.txt") { $date=date("Y-m-d");$arr=array();$arr['date']=$date; if(!file_exists($weather_txt)){file_put_contents($weather_txt,serialize($arr));} $old=unserialize(file_get_contents($weather_txt)); if($old['date']!=$date){file_put_contents($weather_txt,serialize($arr));} if($old[$city] && strlen($old[$city])>30){return $old[$city];}else{ switch($city) { case "sjz": $url = 'http://www.weather.com.cn/weather/101090101.shtml';$text="石家庄";break; case "yt": $url = 'http://www.weather.com.cn/weather/101090508.shtml';$text="玉田";break; } $lines_string = curl_file_get_contents($url); $lines_string = explode("<!--day",$lines_string); $lines_string_3=explode("未来",$lines_string[3]); $lines_array =array(str_replace('1-->','',$lines_string[1]),str_replace('2-->','',$lines_string[2]),str_replace('3-->','',$lines_string_3[0])); for($i=0;$i< count($lines_array); $i ++) { $nowarray=strip_tags($lines_array[$i]); $datearray=explode("日",$nowarray);$nowdata=wtrimall($datearray[0]);//获取日期 $weather=explode("白天",$nowarray);$weather=explode("夜间",$weather[1]); $weather_bai=wtrimall(str_replace("高温 ","",$weather[0]));$weather_bai=str_replace("℃","度",$weather_bai);//白天天气 $weather_ye=wtrimall(str_replace("低温 ","",$weather[1]));$weather_ye=str_replace("℃","度",$weather_ye);//夜间天气 $baiarr=wchangearray(explode("\r",$weather_bai));$yearr=wchangearray(explode("\r",$weather_ye)); $wtext[$i]=trim($nowdata)."日"; if($baiarr[0]==$yearr[0]){$wtext[$i].=$baiarr[0];}else{$wtext[$i].=$baiarr[0]."转".$yearr[0];}//将天气添加到返回值里 $wtext[$i].=$baiarr[1]."到".$yearr[1];//将气温添加到返回值里 if($baiarr[2]==$yearr[2]){$wtext[$i].=$baiarr[2];}else{$wtext[$i].=str_replace("风","",$baiarr[2]."转".$yearr[2]);$wtext[$i].="风";}//将风向添加到返回值里 if($baiarr[3]!="微风"){$wtext[$i].=$baiarr[3];}//将风力添加到返回值里 } $new=$text.implode("",$wtext); if(strlen($new)<30){$new=wtext($city);}; $newarr=array($city=>$new); file_put_contents($weather_txt,serialize(array_unique(array_merge($old,$newarr)))); return $new; } } //配置开始 $phone_num = "150******";//在这修改为您的手机号码; $password = "******" ;//在这修改为您的飞信密码 $phone="150******|yt;134******|yt;151******|sjz;150******|sjz";//在这修改为要发送的电话号码,多个发送用,分开。注:必须是您的飞信好友 //配置结束 $tophone=explode(";",$phone); //发送短信 for($i=0;$i<count($tophone);$i++){ $sys=explode("|",$tophone[$i]); $url="http://www.bitefu.net/fetion/?"; $url.="phone=".$phone_num."&pwd=".$password."&to=".$sys[0]."&u=1&msg=".wtext($sys[1]);//&u=1这个参数是在发送的内容出现乱码时加上的,如果存在乱码问题可以去掉这个参数 file_get_contents($url); }if($i==count($tophone)){sleep(100); ?><script language="javascript"> function logout() { parent.window.opener = null; parent.window.open("", "_self"); parent.window.close(); }logout(); </script> <? }?>
- 上一篇:用五种不同的方式截取文件后缀名
- 下一篇:php压缩HTML代码
精彩图集
精彩文章