PHP header() ఫంక్షన్
నిర్వచనం మరియు వినియోగం
header() ఫంక్షన్ క్లయింట్ కు ప్రాథమిక హెడర్లను పంపుతుంది.
ఒక ముఖ్యమైన విషయాన్ని గుర్తించండి, అది వాస్తవిక అవుట్పుట్ పంపించబడుతున్నది ముందు హెడర్() ఫంక్షన్ కాల్ చేయాలి (PHP 4 మరియు అంతకన్నా పెద్ద వెర్షన్లలో, మీరు అవుట్పుట్ క్యాచింగ్ విధానాన్ని ఉపయోగించవచ్చు ఈ సమస్యను పరిష్కరించడానికి):
<html> <?php // ఫలితం తప్పుగా ఉంటుంది // హెడర్() కాల్ ముందు ఇన్ పుట్ ఉన్నది 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 // గతంలోని తేదీ 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 ఒక బగ్ ఉంది, దానిని సర్వీస్ ప్యాక్ 2 లేదా అంతకంటే పెద్ద వెర్షన్లకు అప్గ్రేడ్ చేయడం ద్వారా పరిష్కరించవచ్చు.