一个定时发送天气预报的程序

额,因为我爸每晚都要我发天气预报给他,有时我又忘记了,所以写了这么一段脚本
把代码复制进文件,然后定时访问他即可
<?php
//,每天晚上自动发天气预报给老爸
date_default_timezone_set("PRC");
$year=date("Y");
$mon=date("m");
$exists=date("Y-m-d");
$nm=date("d")+1;
//明天
//验证日期
$d=date("H");
//判断明天为几号,
checkdate($mon,$nm,$year)?$day=$nm:$day=1;
$txt=@file_get_contents("log.txt");
if(preg_match("!18!",$d))
{
if(strpos($txt,$exists)!==false)
{
echo("天气预报已发送,无需重复操作");
}
else
{
file_put_contents("log.txt",$exists."\r\n",FILE_APPEND);
$wea=file_get_contents("http://l.easou.com/tq/ps.m?nm=".$day."号&mb=13878216489&cty=1420&q=柳州&esid=q9AaHVjzn7J&day=tm&fr=17.7.10");
echo
$wea;
if(strpos($wea,"成功")!==false)
{
file_put_contents("ok.txt",$exists." 成功\r\n",FILE_APPEND);
echo '天气预报发送成功!';
}
}
}
else
{
echo '未到发送天气预报的时间';
}
?>
回复列表(12|隐藏机器人聊天)
  • @Ta / 2012-08-12 / /
    忘记了,还要修改号吗,把13878216489改为你想要发送的号码
    刚刚发错版了...,我先点编程/发帖 点了那个多选(就是论坛分类)看了一下,然后就发帖,然后发错版了...
  • @Ta / 2012-08-12 / /
    @郑锋 随便看看就发现一BUG,明天一定=今天 1吗?假如今天是31号,你的程序认为明天就是32号,这个存在么?
  • @Ta / 2012-08-12 / /
    @HYGSH 谢谢提醒 我再加一个三元表达式,
    你是不是用UC也丢失加号了?
  • @Ta / 2012-08-12 / /
    @郑锋  我也发现了,你需要设置一个判别条件,因为每个月的天数都不是一样的,所以需要自动识别,当在月末的时候明天会自动到1号
  • @Ta / 2012-08-12 / /
    @郑锋 恩,这个破UC,
  • @Ta / 2012-08-12 / /
    @wei 这么麻烦 那要是二月还要判断是平年还是闰年
  • @Ta / 2012-08-12 / /
    @郑锋  对啊…或是可以自己去设置本月天数…然后判别
  • @Ta / 2012-08-12 / /
    @wei 我想到一个方法了,你看看行不,我修改一下帖子,你再看看代码
  • @Ta / 2012-08-12 / /
    @郑锋  不错,我试试
  • @Ta / 2012-08-12 / /
    function panduan($year,$mouth,$day)  {  swith($mouth)  {  case 1:  case 3:  case 5:  case 7:  case 8:  case 10:  case 12:  $a=31;  break;  case 4:  case 6:  case 9:  case 11:  $a=30;  break;  case 2:  if(($year%100!=0&&$year%4==0)||($year%400==0))  $a=29;  else  $a=28;  break;  }  return($day%$a+1);@郑锋 这个函数返回下一天的日期
  • @Ta / 2012-08-15 / /
    @郑锋 esid不会失效么?我试了下。会返回发送界面
  • @Ta / 2012-08-15 / /
    @浪人 不懂,我还没有测试呢,你觉得易搜难道会没有防刷的功能?
添加新回复
回复需要登录