如何将重定向的网站刷新到php上的普通页面?

时间:2018-08-03 07:00:39

标签: php

我正在尝试编写php刷新URL重定向。 饱和是如果目标页面繁忙,它将重定向到类似http://www.go.com/busy.php的URL。如果一切正常,它将转到http://www.go.com。而且我想刷新网络,直到它进入正常页面。

这是我的代码,但我认为这是错误的...

<?php

$url = "http://www.go.com/busy.html";
$url2 = "http://www.go.com/action.php";
$page = $_SERVER['PHP_SELF'];
$sec = "1";


if ($url == $url2) {
   header ("http://www.go.com/action.php");
} 
else {
   header ("Refresh: $sec; url=$page");
}
?>

1 个答案:

答案 0 :(得分:1)

我相信您要问的是如何将用户保留在页面上,直到远程服务器响应时间达到阈值为止。

您可以向第一个URL发出cURL请求,以查看它是否满足超时要求。如果失败,则重定向到新URL。

这未经测试:

<?php
$urlToCheck = "http://www.example.com/";
$maxAllowedRequestTime = 3; // Seconds

$ch = curl_init($urlToCheck);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_exec($ch);
$requestTime = curl_getinfo($ch, CURLINFO_TOTAL_TIME);
curl_close($ch);

// Allow redirect because timeout is less than or equal to $maxAllowedRequestTime
if (false !== $requestTime && $requestTime <= $maxAllowedRequestTime) {
   header ("Location: $urlToCheck");
} else {
   // Refresh current page until request time is less than or equal to $maxAllowedRequestTime
   header ("Refresh:1");
}