如何定期使用 PHP 刷新页面?如果我不能通过 PHP 做到这一点,最好的推荐方案是什么?
14 回答
你可以用 PHP 做到这一点:
header("Refresh:0");
它刷新您当前的页面,如果您需要将其重定向到另一个页面,请使用以下内容:
header("Refresh:0; url=page2.php");
在PHP中,您可以使用:
$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");
或者只使用 JavaScript 的window.location.reload()
.
您当然可以使用 PHP 定期刷新页面:
<?php
header("refresh: 3;");
?>
这将每三秒刷新一次页面。
这很容易在 PHP 中使用header() :
header('Refresh: 1; url=index.php');
除了刷新页面的所有 PHP 方法外,页面还将使用以下 HTML 元标记进行刷新:
<meta http-equiv="refresh" content="5">
见Meta refresh - “在给定时间间隔后自动刷新当前网页或框架”
您可以在content
值内设置时间。
我找到了两种刷新 PHP 内容的方法:
1. 使用 HTMLmeta
标签:
echo("<meta http-equiv='refresh' content='1'>"); //Refresh by HTTP 'meta'
2.使用PHP刷新率:
$delay = 0; // Where 0 is an example of a time delay. You can use 5 for 5 seconds, for example!
header("Refresh: $delay;");
header('Location: .');
似乎在 Chrome、Firefox、Edge 和 Internet Explorer 11 中刷新页面。
像这样回显meta
标签:
URL 是刷新后页面应重定向到的位置。
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
您可以使用 JavaScript 刷新。您可以在 div 中给出要刷新的内容,而不是完整的页面刷新。然后通过使用 JavaScript,您可以只刷新特定的 div,它比完整的页面刷新更快。
你不能在PHP中做到这一点。一旦页面被加载,PHP 就会死掉并且失去控制。
你有几个选择:
- 使用JavaScript
- 使用刷新元标记,
<meta http-equiv="refresh" content="5">
我认为刷新元标记是最简单和最方便的。
在 PHP 中添加此元标记可能会有所帮助:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
一个技巧是在 URL 的末尾添加一个随机数。这样您就不必每次都重命名文件。例如:
echo "<img src='temp.jpg?r=3892384947438'>"
只要随机数不同,浏览器就不会缓存它,但是web服务器会忽略它。
将以下函数添加到您的项目中:
function redirect($filename) {
if (!headers_sent())
header('Location: '.$filename);
else {
echo '<script type="text/javascript">';
echo 'window.location.href = \''.$filename.'\';';
echo '</script>';
echo '<noscript>';
echo '<meta http-equiv="refresh" content="0;url=\''.$filename.'\'" />';
echo '</noscript>';
}
exit();
}
函数调用:
redirect($_SERVER['REQUEST_URI']);