185

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

4

14 回答 14

338

你可以用 PHP 做到这一点:

header("Refresh:0");

它刷新您当前的页面,如果您需要将其重定向到另一个页面,请使用以下内容:

header("Refresh:0; url=page2.php");
于 2014-01-02T07:48:17.173 回答
119

PHP中,您可以使用:

$page = $_SERVER['PHP_SELF'];
$sec = "10";
header("Refresh: $sec; url=$page");

或者只使用 JavaScript 的window.location.reload().

于 2012-09-12T07:44:59.967 回答
20

您当然可以使用 PHP 定期刷新页面:

<?php
    header("refresh: 3;");
?>

这将每三秒刷新一次页面。

于 2013-07-31T14:49:25.467 回答
17

这很容易在 PHP 中使用header() :

header('Refresh: 1; url=index.php');
于 2014-07-31T09:44:42.007 回答
14

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

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

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

您可以在content值内设置时间。

于 2012-09-12T07:45:30.427 回答
14

我找到了两种刷新 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;"); 
于 2014-11-04T16:24:43.277 回答
3

header('Location: .');似乎在 Chrome、Firefox、Edge 和 Internet Explorer 11 中刷新页面。

于 2017-04-21T09:02:37.633 回答
2

像这样回显meta标签:

URL 是刷新后页面应重定向到的位置。

echo "<meta http-equiv=\"refresh\" content=\"0;URL=upload.php\">";
于 2014-09-22T04:50:06.993 回答
1

PHP是服务器端语言,因此您无法使用 PHP 刷新页面,但 JavaScript 是刷新页面的最佳选择:

location.reload();

访问Location reload() 方法

于 2012-09-12T07:44:29.250 回答
1

您可以使用 JavaScript 刷新。您可以在 div 中给出要刷新的内容,而不是完整的页面刷新。然后通过使用 JavaScript,您可以只刷新特定的 div,它比完整的页面刷新更快。

于 2012-09-12T08:13:01.633 回答
0

你不能在PHP中做到这一点。一旦页面被加载,PHP 就会死掉并且失去控制。

你有几个选择:

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

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

于 2012-09-12T07:46:18.203 回答
0

在 PHP 中添加此元标记可能会有所帮助:

echo '<META HTTP-EQUIV="Refresh" Content="0; URL=' . $location . '">';
于 2017-03-09T11:28:36.913 回答
0

一个技巧是在 URL 的末尾添加一个随机数。这样您就不必每次都重命名文件。例如:

echo "<img src='temp.jpg?r=3892384947438'>"

只要随机数不同,浏览器就不会缓存它,但是web服务器会忽略它。

于 2017-09-19T21:39:18.000 回答
0

将以下函数添加到您的项目中:

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']);
于 2022-01-13T14:41:01.407 回答