PHP 顺序跳转网址:使用 Cookie 记录访问历史
// 定义需要跳转的网址数组
$urls = array(
'http://www.baidu.com',
'http://qq.com',
'http://t.cn'
);
// 获取当前访问的网址
$current_url = $_SERVER['REQUEST_URI'];
// 开启cookie
if (!isset($_COOKIE['visited_urls'])) {
// 如果cookie不存在,则创建一个新的cookie并设置初始值为第一个网址
setcookie('visited_urls', $urls[0], time()+3600);
header('Location: ' . $urls[0]);
} else {
// 获取已访问过的网址数组
$visited_urls = explode(',', $_COOKIE['visited_urls']);
// 判断当前网址是否已经访问过
if (in_array($current_url, $visited_urls)) {
// 如果访问过,则跳转到下一个未访问过的网址(按顺序)
$next_url = '';
foreach ($urls as $url) {
if (!in_array($url, $visited_urls)) {
$next_url = $url;
break;
}
}
if ($next_url == '') {
// 如果所有网址都已经访问过,则重新开始访问
$next_url = $urls[0];
setcookie('visited_urls', $next_url, time()+3600);
} else {
// 如果有未访问过的网址,则将该网址添加到已访问数组中,并更新cookie
$visited_urls[] = $next_url;
setcookie('visited_urls', implode(',', $visited_urls), time()+3600);
}
header('Location: ' . $next_url);
} else {
// 如果未访问过,则将该网址添加到已访问数组中,并更新cookie
$visited_urls[] = $current_url;
setcookie('visited_urls', implode(',', $visited_urls), time()+3600);
// 跳转到下一个网址
$index = array_search($current_url, $urls);
if ($index == count($urls) - 1) {
header('Location: ' . $urls[0]);
} else {
header('Location: ' . $urls[$index + 1]);
}
}
}
原文地址: https://www.cveoy.top/t/topic/otas 著作权归作者所有。请勿转载和采集!