使用 PHP 刷新页面

如何使用 PHP 定期刷新页面?如果我不能用 PHP 做到这一点,最好的推荐方案是什么?

1272154 次浏览

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()

除了所有刷新页面的 PHP 方法外,该页面还将使用以下 HTML meta 标记进行刷新:

<meta http-equiv="refresh" content="5">

元刷新(Meta refresh)-“在给定时间间隔后自动刷新当前网页或框架”

可以在 content值内设置时间。

PHP中不能这样做。一旦加载页面,PHP 就会死亡并失去控制。

你有几个选择:

  • 使用 JavaScript
  • 使用刷新元标记 <meta http-equiv="refresh" content="5">

我认为 刷新元标记是最简单和最方便的。

可以使用 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标签:

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的页面。

一个技巧是在 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']);