如何在每天的特定时间使用PHP自动刷新网页?

时间:2014-05-30 11:30:16

标签: php

我需要在当地时间凌晨3点(格林威治标准时间+4)每天刷新页面..有关如何使用PHP执行此操作的任何想法?使用功能可能吗?

2 个答案:

答案 0 :(得分:1)

我认为你需要每天凌晨3点运行(至少一个)脚本。

单独使用PHP无法做到这一点。或者澄清一下 - 你不应该用PHP做到这一点。 正确的解决方案是使用Cron(Linux环境)或任务调度程序(Windows环境)来设计,以定期在选定的时间运行进程。你可以通过wget / cURL或者更好的方式请求你的页面,如果你不需要web服务器,直接通过PHP运行你的脚本(比如“[php to path] [php script]的路径”,它看起来像c: \ xampp \ php c:\ xampp \ htdocs \ myLocalPHPFile.php)

替代(错误)解决方案是睡眠当前过程直到所需时间。问题是,你需要手动确定正确的时间(使用日期函数),如果有人杀死你的进程(即PHP本身有最大执行时间),那么就没有什么可以调用那个脚本了。另一个问题是该脚本的多个实例正在运行 - 而且PHP本身无法知道是否是这种情况(当然这也可以通过锁定或更好地通过列出所有进程并杀死该脚本的另一个实例来解决)

答案 1 :(得分:0)

这是一个php代码,应该让页面每天凌晨3点刷新:

$page = $_SERVER['PHP_SELF'];

$now = time();
$today = strtotime('3:00');
$tomorrow = strtotime('tomorrow 3:00');
if (($today - $now) > 0) {
    $refreshTime = $today - $now;
} else {
    $refreshTime = $tomorrow - $now;
}

header("Refresh: $refreshTime; url=$page");

也许可以进一步优化时间操作

相关问题