PHP header() फ़ंक्शन

परिभाषा और उपयोग

header() फ़ंक्शन क्लायंट को मूली एचटीटीपी शीर्षक भेजता है।

यह महत्वपूर्ण है, कि header() फ़ंक्शन को वास्तविक आउटपुट भेजने से पहले बुलाया जाना चाहिए (PHP 4 और उससे ऊपर की संस्करणों में आउटपुट कैश द्वारा समस्या को हल किया जा सकता है):

<html>
<?php
// परिणाम गलत है
// header() को बुलाने से पहले पहले से ही आउटपुट मौजूद है
header('Location: http://www.example.com/');
?>

व्याकरण

header(string,replace,http_response_code)
पारामीटर वर्णन
string अनिवार्य। भेजने वाले हेडर शब्दगुच्छ को निर्धारित करता है।
replace

वैकल्पिक। इंगित करता है कि हेडर अगले हेडर को बदलेगा या दूसरा हेडर जोड़ेगा।

मूवला है true (बदलना)। false (उसी तरह के कई हेडर्स को अनुमति देना)।

http_response_code वैकल्पिक।HTTP प्रतिक्रिया कोड को निर्दिष्ट मान के लिए मजबूर करें।(PHP 4 और उससे अधिक उपलब्ध है)

सूचना और टिप्पणी

टिप्पणीःPHP 4.4 के बाद से, यह फ़ंक्शन एक बार में कई शीर्षक को भेजने को रोकता है।यह शीर्षक इंजेक्शन हमले की रोकथाम है।

उदाहरण

उदाहरण 1

<?php
// Past date
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

?>
<html>
<body>
...
...

टिप्पणीःप्रयोक्ता के द्वारा कुछ विकल्प निर्धारित किए जा सकते हैं ताकि ब्राउज़र की डिफ़ॉल्ट कैश विन्यास को बदला जा सके।ऊपरोक्त शीर्षक को भेजकर, आप इनमें से किसी भी को अधिकृत कर सकते हैं और ब्राउज़र को कैश करने के लिए मजबूर कर सकते हैं!

उदाहरण 2

प्रयोक्ता को सूचित करें कि उन्हें एक बनाए गए PDF फ़ाइल को सहेजना है (Content-Disposition शीर्षक एक सिफ़ारिश किए गए फ़ाइल नाम को प्रदान करता है और ब्राउज़र को सहेजने के लिए बाध्य करता है):

<?php
header("Content-type:application/pdf");
// फ़ाइल downloaded.pdf के रूप में बुलाया जाएगा
header("Content-Disposition:attachment;filename='downloaded.pdf'");
// PDF स्रोत original.pdf में है
readfile("original.pdf");
?>
<html>
<body>
...
...

टिप्पणीःमाइक्रोसॉफ्ट IE 5.5 में एक बग है जो इस मैकेनिज्म को रोकता है।Service Pack 2 या उससे अधिक संस्करण को अपग्रेड करके इस बग को सुलझा सकते हैं।