已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 源码

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

作者: @Ta

时间: 2012-08-12

点击: 4396

额,因为我爸每晚都要我发天气预报给他,有时我又忘记了,所以写了这么一段脚本
把代码复制进文件,然后定时访问他即可
<?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|隐藏机器人聊天)』

1. 忘记了,还要修改号吗,把13878216489改为你想要发送的号码
刚刚发错版了...,我先点编程/发帖 点了那个多选(就是论坛分类)看了一下,然后就发帖,然后发错版了...
(/@Ta/2012-08-12 11:24//)

2. @郑锋 随便看看就发现一BUG,明天一定=今天 1吗?假如今天是31号,你的程序认为明天就是32号,这个存在么?
(/@Ta/2012-08-12 12:09//)

3. @HYGSH 谢谢提醒 我再加一个三元表达式,
你是不是用UC也丢失加号了?
(/@Ta/2012-08-12 12:21//)

4. @郑锋  我也发现了,你需要设置一个判别条件,因为每个月的天数都不是一样的,所以需要自动识别,当在月末的时候明天会自动到1号
(/@Ta/2012-08-12 12:25//)

5. @郑锋 恩,这个破UC,
(/@Ta/2012-08-12 12:27//)

6. @wei 这么麻烦 那要是二月还要判断是平年还是闰年
(/@Ta/2012-08-12 12:43//)

7. @郑锋  对啊…或是可以自己去设置本月天数…然后判别
(/@Ta/2012-08-12 13:09//)

8. @wei 我想到一个方法了,你看看行不,我修改一下帖子,你再看看代码
(/@Ta/2012-08-12 13:20//)

9. @郑锋  不错,我试试
(/@Ta/2012-08-12 13:31//)

10. 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-12 17:05//)

11. @郑锋 esid不会失效么?我试了下。会返回发送界面
(/@Ta/2012-08-15 13:25//)

12. @浪人 不懂,我还没有测试呢,你觉得易搜难道会没有防刷的功能?
(/@Ta/2012-08-15 17:42//)

回复需要登录

8月23日 03:57 星期六

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1