php - 如何在特定时间刷新页面
问题描述
我在我的 wp 页面中尝试了此代码,但它不起作用
<?php
$page = $_SERVER['PHP_SELF'];
$sec = "10";
date("d-m-Y H:i:s");
$time= date("H:i:s");
if($time == "03:40:00")
{
echo "The new page loading in 10 seconds!";
header("Refresh: $sec; url=$page");
}
?>
解决方案
你不能在 PHP 中做到这一点,你可以为这样的任务做的是计算时间差并以秒为单位,并设置页面的标题以秒为单位在时间差后刷新,如下所示:
<?php
$page = $_SERVER['PHP_SELF'];
$datetime1 = new DateTime('2020-05-23 18:20:10');
$datetime2 = new DateTime('2020-05-23 18:20:30');
$interval = $datetime2->diff($datetime2);
$diff = $datetime2->getTimestamp() - $datetime1->getTimestamp(); // diff in seconds
// you can just have `redirect` queryString params passed like this.
if(empty($_GET['redirect'])) {
header("Refresh: $diff; url=$page" . "?redirect=1");
}
这里要指出的是,使用标记在您的页面中进行刷新而不是使用header()
,它对我来说作为实现感觉更干净,特别是如果您已经有一个模板引擎:
<meta http-equiv="refresh" content="20">
推荐阅读
- javascript - 如何使用 Spotify Web API 完成身份验证
- vscode-extensions - 从 vscode 扩展获取启动配置
- javascript - 如何自定义图形使用 highchart 库?
- pytorch - 如果我在 Cuda 上跟踪 PyTorch 网络,我可以在 CPU 上使用它吗?
- .net - 堆栈溢出异常时的可变堆栈大小
- javascript - 如何从 jQuery 纯 js 转换 ajax 请求?
- r - Grep 基于两列中的小数位
- ansible - 计算两个变量之间的天数(一个是设定变量,另一个来自事实)
- c++ - 完美的 Lambda 链接转发
- django - 喜欢这个作者的帖子模型已经存在