PHP редирект через n секунд для определенных страниц

Как сделать на php редирект через определенное время и только на определенных страницах сайта(сайт на wordpress)

Чтобы страницы выдергивались рандомно из файла .txt


Ответы (2 шт):

Автор решения: Вадим Александру
<script>


    function redirect()
    {
        window.location.href = 'https://google.com';
    }

    setTimeOut(redirect, 3000)

</script>

Редирект на google.com через 3 секунды

→ Ссылка
Автор решения: Unzerstorbar

На самом деле всё достаточно просто

$sites = file("ссылка_на_текстовый_файл.txt")

Эта функция получит все строки текстового файла и поместит их в массив и дальше нам остаётся только добавить проверку. Тут можем обойтись обычным if.

$link = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

if (in_array($link, sites)) {
    sleep(30);
    header('Location:page.html');
}

Если сайт есть в списке, то редирект произойдёт через 30 секунд.

Дополняю, отвечая на вопрос в комментарий: Если нужно перенаправить на рандомный сайт - получаем массив сайтов, на которые нужно перенаправлять (допустим они так же находятся в текстовом файле, соответственно получаем массив способом, аналогичным описанному выше).

Массив назовём "locationTo". Header будет выглядеть следующим образом:

header('Location:' . $locationTo[array_rand($locationTo)]);

array_rand - возвращает один или несколько (если вторым аргументом указать необходимое количество) случайных ключей из массива

→ Ссылка