Перенаправление страницы через определенное время PHP
95
Есть определенная функция PHP для перенаправления через некоторое время. Где-то видел, но не могу вспомнить. Это как перенаправление gmail после входа в систему. Кто-нибудь может напомнить, пожалуйста?
это способ установки php, headerкоторый перенаправит вас wherever.phpчерез 5 секунд
Помните, что header () должен вызываться перед отправкой любого фактического вывода либо с помощью обычных тегов HTML, либо пустых строк в файле, либо из PHP. Очень часто возникает ошибка чтения кода с помощью функций include или require или другой функции доступа к файлам, а также наличие пробелов или пустых строк, которые выводятся до вызова header (). Та же проблема существует при использовании одного файла PHP / HTML. (источник php.net )
интересно, я никогда раньше не видел этот метод ... но разве это не будет отображать пустую страницу или просто бездействовать без какого-либо сообщения, пока не истечет таймер?
Ибу
он будет отображать страницу ... все, что он делает, это устанавливает заголовок, который будет указывать браузеру обновить страницу через 5 секунд, если вы действительно хотите отобразить пустую страницу, просто используйтеdie();
Teneff
2
Плохо то, что этого заголовка нет в стандарте HTTP, клиенты могут его игнорировать.
Sven
:) Отличная идея! А если вы хотите отправить (сохранить) какие-то переменные и использовать на перезагруженной странице?
Мугур Унгуряну
Возможно, прошло миллиард лет с момента этого поста, но как вы публикуете сообщение во время перенаправления, например, «Перенаправление страницы, пожалуйста, подождите»
CAO
25
Вы можете использовать javascript для перенаправления через некоторое время
setTimeout(function(){
window.location.href='http://www.google.com';// the redirect goes here},5000);// 5 seconds
@Jami, это правда, поэтому я сказал, что OP может вместо этого использовать javascript.
Ибу
@BenjaminIntal Это также работает как отличный запасной вариант, если браузер игнорирует перенаправление в заголовке. Вам нужно будет использовать браузер, который не принимает заголовок, И отключить Javascript, чтобы не получать перенаправление.
действительно, вы можете использовать этот код, как сказал тенефф, но вам не обязательно помещать заголовок перед любым отправленным выводом (это приведет к ошибке «невозможно переместить заголовок ....: 3»).
Чтобы решить эту проблему, используйте функцию php ob_start();до вывода любого HTML.
Чтобы завершить ob, просто введите ob_end_flush();после того, как у вас нет вывода html.
Если вы выполняете перенаправление с помощью PHP, вы должны просто использовать команду sleep (), чтобы засыпать на сколько угодно секунд перед перенаправлением.
Но я думаю, что вы имеете в виду метатег обновления:
Использование сна не является традиционным подходом, поскольку, как сказано выше, следует использовать функцию заголовка.
Максим
Не спит просто задерживает соединение?
FluorescentGreen5
2
Обновление PHP через 5 секунд у меня не сработало при открытии диалогового окна «Сохранить как» для сохранения файла: (header ('Content-type: text / plain'); header ("Content-Disposition: attachment; filename = $ filename > ");)
После того, как была нажата ссылка «Сохранить как» и файл был сохранен, обновление по времени остановилось на вызывающей странице.
Тем не менее, большое спасибо, javascript-решение ibu продолжало отмечать и обновлять мою веб-страницу, что мне и нужно для моего конкретного приложения. Так что спасибо ibu за размещение здесь javascript-решения для проблемы php.
Вы можете использовать javascript для перенаправления через некоторое время
Refresh
заголовок не является стандартным. Я бы никогда не использовал вещи, которые не включены в RFCОтветы:
это способ установки php,
header
который перенаправит васwherever.php
через 5 секундисточник
die();
Вы можете использовать javascript для перенаправления через некоторое время
источник
Вы можете попробовать это:
Где 10 в секундах.
источник
вы хотели бы использовать php для записи метатега.
Это не рекомендуется, но возможно. Цифра 5 в этом примере - это количество секунд до обновления.
источник
действительно, вы можете использовать этот код, как сказал тенефф, но вам не обязательно помещать заголовок перед любым отправленным выводом (это приведет к ошибке «невозможно переместить заголовок ....: 3»).
Чтобы решить эту проблему, используйте функцию php
ob_start();
до вывода любого HTML.Чтобы завершить ob, просто введите
ob_end_flush();
после того, как у вас нет вывода html.ура!
источник
Если вы выполняете перенаправление с помощью PHP, вы должны просто использовать команду sleep (), чтобы засыпать на сколько угодно секунд перед перенаправлением.
Но я думаю, что вы имеете в виду метатег обновления:
http://webdesign.about.com/od/metataglibraries/a/aa080300a.htm
источник
Обновление PHP через 5 секунд у меня не сработало при открытии диалогового окна «Сохранить как» для сохранения файла: (header ('Content-type: text / plain'); header ("Content-Disposition: attachment; filename = $ filename > ");)
После того, как была нажата ссылка «Сохранить как» и файл был сохранен, обновление по времени остановилось на вызывающей странице.
Тем не менее, большое спасибо, javascript-решение ibu продолжало отмечать и обновлять мою веб-страницу, что мне и нужно для моего конкретного приложения. Так что спасибо ibu за размещение здесь javascript-решения для проблемы php.
Вы можете использовать javascript для перенаправления через некоторое время
источник
Вы можете использовать этот код javascript для перенаправления через определенное время. Надеюсь, это сработает.
источник
Перенаправление программирования времени PHP:
источник