当前位置:  开发笔记 > 编程语言 > 正文

PHP飞信通知天气预报_API版

PHP飞信通知天气预报_API版如果条件允许可以在服务器上用计划任务每天在固定时间给自己或亲人发送天气预报采用飞信官方web接口有时可能由于服务器速度问题可能造成发送不成功.属于正常现象....">

 

  PHP飞信通知天气预报_API版

  如果条件允许可以在服务器上用计划任务 每天在固定时间给自己或亲人发送天气预报

  采用飞信官方web接口

  有时可能由于服务器速度问题可能造成发送不成功.属于正常现象.

 

  

  /***************************************************************************/

  /******************* 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

  {

  $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);

  ?>

  


推荐阅读
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 本文详细解析了JSONP(JSON with Padding)的跨域机制及其工作原理。JSONP是一种通过动态创建``标签来实现跨域请求的技术,其核心在于利用了浏览器对``标签的宽松同源策略。文章不仅介绍了JSONP的产生背景,还深入探讨了其具体实现过程,包括如何构造请求、服务器端如何响应以及客户端如何处理返回的数据。此外,还分析了JSONP的优势和局限性,帮助读者全面理解这一技术在现代Web开发中的应用。 ... [详细]
  • 大数据应用实例:电视收视率分析企业项目实操第二篇
    本文继续探讨大数据在电视收视率分析中的应用,详细介绍了如何在CentOS系统中进行防火墙管理。针对CentOS 6.5及更早版本,提供了具体的命令操作步骤,包括停止防火墙服务和禁用防火墙启动。此外,还深入讨论了这些操作对数据传输和系统安全的影响,为实际项目实施提供了宝贵的技术参考。 ... [详细]
  • HTTP请求与响应机制:基础概览
    在Web浏览过程中,HTTP协议通过请求和响应报文实现客户端与服务器之间的通信。当用户访问一个网页时,浏览器会发送一个HTTP请求报文至服务器,服务器接收到请求后,会生成并返回一个HTTP响应报文。这两种报文均包含三个主要部分:起始行、头部字段和消息体,确保了数据的有效传输和解析。 ... [详细]
  • PHP中处理回车换行符转换的有效方法与技巧
    PHP中处理回车换行符转换的有效方法与技巧 ... [详细]
  • 在ASP.NET MVC项目中,通过实战解决了Ajax请求500错误及多表数据查询的问题。具体而言,将页面分为两个部分,用户点击右侧导航栏时,通过Ajax请求动态加载数据,并在右侧显示相应的页面内容。最初尝试使用Partial Action方法,但遇到了500错误。通过详细排查和调试,最终成功解决了这一问题,并实现了预期功能。此外,还优化了多表数据查询的性能,确保系统的高效运行。 ... [详细]
  • 通过自定义 `TextView`,实现了在用户点击或焦点变化时动态调整字体颜色的效果。该方法利用了 `ColorStateList` 和 `Selector` 资源文件,确保了界面交互的流畅性和视觉效果的提升。具体实现中,通过重写 `onTouchEvent` 和 `onFocusChanged` 方法,精确控制了颜色变化的时机和状态。此外,还对性能进行了优化,确保在高频率操作下依然保持高效响应。 ... [详细]
  • 来宾 | Vmware ESXi 平台下的虚拟机在线管理与技术支持
    来宾 | Vmware ESXi 平台下的虚拟机在线管理与技术支持 ... [详细]
  • 尽管许多人认为跑步是一项简单的运动,但实际上它涉及诸多专业知识。不正确的跑步方式不仅会降低锻炼效果,还可能引发伤害。例如,穿着不合脚或过于陈旧的跑鞋,会导致足部支撑不足,增加受伤风险。此外,跑步姿势不当、热身不足、过度训练等问题也同样值得关注。本文将详细介绍七大常见跑步误区,并提供专业的改进建议,帮助跑者避免这些问题,提高运动效率和安全性。 ... [详细]
  • 在第六章中,我们将深入探讨MySQL中的多表查询技术,包括联结查询和子查询。联结查询通过将两个或多个表进行连接,基于连接条件生成结果集。常见的联结类型有内联结、外联结和全外联结。交叉联结(CROSS JOIN)虽然使用较少,但其原理是生成所有可能的组合,类似于笛卡尔积的概念。此外,子查询则是在一个查询语句中嵌套另一个查询,用于获取更复杂的数据集。本章将通过实例详细讲解这些查询方法的应用和优化技巧。 ... [详细]
  • 如何在PHP中提取数字的特定位数值
    本文将详细介绍如何在PHP中提取数字的特定位置的数值。这一技巧对于数据处理和算法实现具有重要意义,通过实例代码和详细解析,帮助读者掌握该方法的应用场景和实现方式。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • PHP图床源码:集成化图床管理系统解决方案
    本项目提供了一套集成化的图床管理系统解决方案,适用于需要高效管理图片资源的场景。系统结构简洁,无需复杂的后台支持。主要文件包括 `huluxia.php`、`index.html`、`inews.php`、`kw.php` 和 `zz.php`,每个文件都承担了特定的功能,确保系统的稳定运行和易用性。 ... [详细]
  • 使用cpphttplib构建HTTP服务器以处理带有查询参数的URL请求 ... [详细]
  • 本文详细介绍了如何在 Grafana 中独立于 Alertmanager 配置邮件和微信告警。具体步骤包括配置 SMTP 服务器以实现邮件告警,以及设置微信告警的集成方式。通过这些配置,用户可以更灵活地管理和接收来自 Grafana 的告警通知,确保及时响应系统异常。文章还提供了详细的配置示例和常见问题的解决方案,帮助用户顺利完成设置。 ... [详细]
author-avatar
哈哈不会玩NO1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有