Функция заголовка php
Я могу использовать момент времени?
что-то вроде:
header('refresh:1.5; url=xxx');
5 ответов
Да, вы можете использовать:
header('refresh: 2; url=someurl.php');
куда 3
время в секундах Больше информации о header
всегда можно найти здесь.
Но в любом случае я всегда рекомендую комбинацию, чтобы избежать проблем с некоторыми браузерами:
- Заголовок (как вы делаете)
- Метатег (в заголовке HTML)
- Тайм-аут JavaScript
При использовании header
Я не думаю, что вы можете использовать десятичную как 1.5
, В любом случае я сомневаюсь, что любой пользователь заметит разницу между 2
а также 1.5
секунд. Но если это важно для вас, вы можете достичь этого, используя тайм-аут JavaScript.
Пути перенаправления
Метатег:
<meta http-equiv="refresh" content="2;url=http://www.yourwebsite.com/someurl.php">
JavaScript:
setTimeout(function() {
window.location = "http://www.yourwebsite.com/someurl.php";
}, 1500);
refresh
не является частью стандарта HTTP. Это устаревший метод, представленный Netscape и реализованный другими браузерами. Даже если он работает в одном браузере, вы не можете быть уверены, что он будет работать во всех браузерах.
W3C не рекомендует его использовать, подробности см. В этой статье Википедии. Особенно интересны разделы "Недостатки" и "Альтернативы".
Я бы предпочел использовать это более header('refresh ...')
:
usleep(1500000);
header("Location: xxx");
Это отправит чистый редирект 302 и убедится, что он соответствует HTTP и работает с каждым браузером.
Заголовок ( "refresh:5;url=wherever.php");
Если вам нужно время от 1 до 2 секунд, вы можете использовать 1,5, как указано в вашем вопросе.
Да, вы можете, но до того, как заголовки уже отправлены: Помните, что header() должна вызываться перед отправкой любого фактического вывода, либо обычными тегами HTML, пустыми строками в файле, либо из PHP. Это очень распространенная ошибка при чтении кода с включенными или требующимися функциями или другой функцией доступа к файлу, с пробелами или пустыми строками, которые выводятся до вызова header(). Та же проблема существует при использовании одного файла PHP/HTML. http://php.net/manual/en/function.header.php