Home >php教程 >PHP源码 >PHP飞信通知天气预报_API版

PHP飞信通知天气预报_API版

PHP中文网
PHP中文网Original
2016-05-25 17:12:331034browse

/***************************************************************************/
/******************* 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("','',$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 $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);
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn