PHP Headers – Информация/Как да ги използваме/Обяснения
Автор: EmPowerYou
Надявам се превода да е добър, урока да ви хареса, понеже с тези headers възникват доста проблеми.
PHP Header-a е първото нещо, което ще бъде изпратено към браузерът. Понякога кодерите правят грешки като прибавят или празна линия или echo преди заглавната част да е наместена, обикновено след функцията session_start().
Грешки:
Ако напишете кода така:
<?php
session_start();
?>Кодът ще изведе грешка. Причината е празното поле преди <?php таг-а. Празното поле се примеа като HTML код.
Грешка може да получите и при следния код:
<?php
echo "Добре дошли";
session_start();
?>Причината скрипта да изведе грешка е че неможе да ползвате echo или да има празна линия преди функцията session_start();.
Правилният начин!
<?php
session_start();
echo "Добре дошли";
?>Headers могат да бъдат използвани и като пренасочване към друга страница. Ето как може да го направите:
<?php
header("Location: http://www.web-tourist.net");
?>Кодът ще ви пренасочи към [u]http://www.web-tourist.net[/u]. Може да го промените като на мястото на web-tourist сложите друг url адрес.
Забележете, че в по-горния скрипт, думата Location е написана с главно „L“, което е правилно. Но ако го напишете с малко „l“, някои browser-и може да не изпълнят скрипта правилно и няма да ви пренасочат.
В следващи код може да добавите интервал от време, за което потребителят да бъде пренасочен към дадената страница.
<?php
$seconds = 5; //На този ред, числото 5 е секундите, след които да бъдете пренасочени към друг адрес.
header("Refresh: $seconds; url=http://web-tourist.net");
?>Не кеширайте кода на страниците!
Може да предотвратите браузера да кеширате страници като използвате следващият код:
<?php
//Date in the past, tells the browser that the cache has expired
header("Expires: Mon, 20 Feb 2004 20:12:03 GMT");
/* The following tell the browser that the last modification is right not so it must load the page again */
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). "GMT");
//HTTP/1.0
header("Pragma: no-cache");
?>Можете да дадете различни видове на данни с изключение на HTML. Например, може да анализирате image, PSD, zip и т. н. от PHP. Ако използвате следващия код трябва да „кажете“ на browser-а, че информация която изпращате не е HTML, а нещо друго.
<?php
//The browser will deal the page as PDF
header ( 'Content-type: application/pdf' );
//This will be called phpParsed.pdf
header ( 'Content-Disposition: attachment; filename="phpParsed.pdf"' );
?>

