如何使用 PHP 定期刷新页面?如果我不能用 PHP 做到这一点,最好的推荐方案是什么?
PHP 是服务器端语言,因此不能用 PHP 刷新页面,但 JavaScript 是刷新页面的最佳选择:
location.reload();
访问 一个 href = “ http://www.w3chools.com/jsref/met _ loc _ reload.asp”rel = “ nofollow norefrer”> Location reload () method 。
在 PHP中,你可以使用:
$page = $_SERVER['PHP_SELF']; $sec = "10"; header("Refresh: $sec; url=$page");
或者仅仅使用 JavaScript 的 window.location.reload()。
window.location.reload()
除了所有刷新页面的 PHP 方法外,该页面还将使用以下 HTML meta 标记进行刷新:
<meta http-equiv="refresh" content="5">
见 元刷新(Meta refresh)-“在给定时间间隔后自动刷新当前网页或框架”
可以在 content值内设置时间。
content
在 PHP中不能这样做。一旦加载页面,PHP 就会死亡并失去控制。
你有几个选择:
我认为 刷新元标记是最简单和最方便的。
可以使用 JavaScript 刷新。您可以提供要在 div 中刷新的内容,而不是完整的页面刷新。然后通过使用 JavaScript,您可以只刷新那个特定的 div,而且它的工作速度比完整的页面刷新更快。
您肯定可以使用 PHP 定期刷新页面:
<?php header("refresh: 3;"); ?>
这将每三秒刷新一次页面。
你可以用 PHP 做到这一点:
header("Refresh:0");
它将刷新当前页面,如果需要将其重定向到另一个页面,请使用以下命令:
header("Refresh:0; url=page2.php");
使用 PHP 中的 Header ()可以做到这一点:
header('Refresh: 1; url=index.php');
像下面这样回显 meta标签:
meta
URL 是在刷新后页面应该被重定向到的地方。
echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
我找到了两种刷新 PHP 内容的方法:
1. 使用 HTML meta标签:
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;");
在 PHP 中添加这个 meta 标记可能会有所帮助:
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
header('Location: .');似乎刷新了 Chrome、 Firefox、 Edge 和 Internet Explorer 11的页面。
header('Location: .');
一个技巧是在 URL 的末尾添加一个随机数。这样你就不用每次都重命名文件了。例如:
echo "<img src='temp.jpg?r=3892384947438'>"
浏览器不会缓存它,只要随机数是不同的,但网络服务器将忽略它。
在项目中添加以下函数:
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']);