PHP 重定向暂停

2022-08-30 23:52:38

在使用 PHP 将用户重定向到另一个 HTML/PHP 页面之前,如何将页面暂停一定秒数?


答案 1

这个应该有效:

<?php
header('Refresh: 5; URL=http://yoursite.com/page.php');
//other code
?>

并将允许您的用户看到您想要的任何类型的输出(您将在X秒内重定向,如果没有,请单击yere等。


答案 2

低技术解决方案,不需要Javascript甚至PHP:

<html>
<head>
    <title>Redirecting...</title>
    <meta http-equiv="refresh" 
content="10;URL=http://www.newsite.com">
</head>
<body>
    You are being automatically redirected to a new location.<br />
    If your browser does not redirect you in 10 seconds, or you do
    not wish to wait, <a href="http://www.newsite.com">click here</a>. 
</body>
</html>

与使用“Location:”标头相比,此解决方案的优点是不需要暂停脚本执行,这将在用户看来好像服务器繁忙或连接已挂起。

此解决方案还为用户提供了立即进入新页面的选项,而不必在浏览器不显示任何信息时等待 x 秒

编辑:我认为还值得注意的是,如果你决定使用header()方法,你需要确保你的睡眠()持续时间不会太长。我认为大多数浏览器在1分钟内没有从服务器接收任何数据后都会生成连接超时


推荐