परिचय
किसी भी PHP स्क्रिप्ट को कई पूर्वनिर्धारित वेरिएबल तक पहुंच प्राप्त होती है। हालांकि, उनमें से कई वेब सर्वर सॉफ्टवेयर, PHP वर्जन और अन्य कारकों पर निर्भर हैं। इनमें से कुछ वेरिएबल कमांड लाइन मोड में चल रही स्क्रिप्ट के लिए उपलब्ध नहीं हैं। $GLOBALS वेरिएबल सभी ग्लोबली उपलब्ध पूर्वनिर्धारित वेरिएबल के रेफरेंस संग्रहीत करता है। इनमें से अधिकांश वेरिएबल phpinfo.php द्वारा प्रदर्शित किए जाते हैं। कुछ सामान्यतः उपयोग किए जाने वाले पूर्वनिर्धारित वेरिएबल यहां समझाए गए हैं।
$_SERVER
यह एक सरणी वेरिएबल है जिसमें HTTP हेडर्स, स्क्रिप्ट और पर्यावरण के बारे में जानकारी होती है। इस सरणी के कुछ प्रमुख सदस्य निम्न हैं:
- PHP_SELF - वर्तमान में निष्पादित स्क्रिप्ट का फ़ाइलनाम संग्रहीत करता है। उदाहरण के लिए, लोकल सर्वर के डॉक्यूमेंट रूट के test फ़ोल्डर में एक स्क्रिप्ट अपना पथ निम्नानुसार लौटाती है:
उदाहरण
<?php echo $_SERVER['PHP_SELF']; ?>
आउटपुट
/test/testscript.php
- SERVER_ADDR - वर्तमान स्क्रिप्ट निष्पादित हो रहे सर्वर का IP एड्रेस लौटाता है।
- SERVER_NAME - वर्तमान स्क्रिप्ट निष्पादित हो रहे सर्वर होस्ट का नाम। लोकल सर्वर के मामले में localhost लौटाया जाता है।
- QUERY_STRING - क्वेरी स्ट्रिंग & सिंबल द्वारा अलग किए गए key=value जोड़े की स्ट्रिंग है और ? सिंबल के बाद URL में जोड़ी जाती है। उदाहरण: https://localhost/testscript?name=xyz&age=20 URL ट्रेलिंग क्वेरी स्ट्रिंग लौटाता है।
- REQUEST_METHOD - URL तक पहुंचने के लिए उपयोग की जाने वाली HTTP रिक्वेस्ट मेथड, जैसे POST, GET, PUT या DELETE। उपरोक्त क्वेरी स्ट्रिंग उदाहरण में, ? सिंबल के साथ जुड़ा URL GET मेथड से पेज रिक्वेस्ट करता है।
- DOCUMENT_ROOT - सर्वर पर कॉन्फ़िगर की गई डॉक्यूमेंट रूट डायरेक्टरी का नाम लौटाता है। XAMPP अपाचे सर्वर पर यह htdocs को डॉक्यूमेंट रूट के नाम के रूप में लौटाता है:
C:/xampp/htdocs
- HTTP_USER_AGENT - पेज एक्सेस करने वाले यूजर एजेंट (ब्राउज़र) को दर्शाने वाली स्ट्रिंग।
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...
- REMOTE_ADDR - उस मशीन का IP एड्रेस जिससे उपयोगकर्ता वर्तमान पेज देख रहा है।
- SERVER_PORT - पोर्ट नंबर जिस पर वेब सर्वर इनकमिंग रिक्वेस्ट सुन रहा है। डिफ़ॉल्ट 80।
$_GET
डिफ़ॉल्ट रूप से, क्लाइंट ब्राउज़र HTTP GET मेथड द्वारा सर्वर पर URL के लिए रिक्वेस्ट भेजता है। URL से जुड़ी क्वेरी स्ट्रिंग में & सिंबल द्वारा जोड़े गए key=value पेयर हो सकते हैं। $_GET एसोसिएटिव सरणी इन की-वैल्यू पेयर को संग्रहीत करती है।
मान लें कि ब्राउज़र में URL है https://localhost/testscript?name=xyz&age=20
उदाहरण
<?php echo "Name : " . $_GET["name"] . "<br>"; echo "Age : " . $_GET["age"]; ?>
आउटपुट
Name : xyz Age : 20
$_POST
HTTP POST मेथड द्वारा URL को पास किए गए की-वैल्यू पेयर की एक एसोसिएटिव सरणी जो रिक्वेस्ट में URLEncoded या multipart/form-data कंटेंट-टाइप का उपयोग करती है।
डेटा को test.html में HTML फॉर्म का उपयोग करके POST मेथड द्वारा PHP स्क्रिप्ट पर भेजा जाता है:
<form action="testscript.php" method="POST">
<input type="text" name="name">
<input type="text" name="age">
<input type="submit" value="submit">
</form>
PHP स्क्रिप्ट निम्नानुसार है:
उदाहरण
<?php echo "Name : " . $_POST["name"] . "<br>"; echo "Age : " . $_POST["age"]; ?>
आउटपुट
Name : xyz Age : 20
$_FILES
यह वेरिएबल HTTP POST मेथड के माध्यम से अपलोड की गई वस्तुओं को समाहित करने वाली एक एसोसिएटिव सरणी है। फ़ाइल अपलोड करने के लिए enctype एट्रिब्यूट multipart/form-data पर सेट HTTP POST मेथड फॉर्म की आवश्यकता होती है।
<form action="testscript.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="submit">
</form>
PHP स्क्रिप्ट में, _FILES वेरिएबल को निम्नानुसार एक्सेस किया जाता है:
उदाहरण
<?php print_r($_FILES); ?>
आउटपुट
Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )
$_REQUEST
यह वेरिएबल $_GET, $_POST और $_COOKIE पूर्वनिर्धारित वेरिएबल की सामग्री प्रदान करने वाली एक एसोसिएटिव सरणी है।
$_SESSION
यह वेरिएबल HTTP सत्र का प्रतिनिधित्व करने वाले वेरिएबल की एक एसोसिएटिव सरणी है।
$_ENV
पर्यावरण चर की एक सरणी इस पूर्वनिर्धारित वेरिएबल का निर्माण करती है। ये वेरिएबल PHP के ग्लोबल नेमस्पेस में आयात किए जाते हैं।
$_COOKIE
सर्वर क्लाइंट के कंप्यूटर में कुकीज़ के रूप में कुछ डेटा संग्रहीत कर सकता है। ये कुकीज़ हर बार रिक्वेस्ट किए जाने पर प्रेषित होती हैं। _COOKIE वेरिएबल कुकी वेरिएबल और उनके मानों की एक एसोसिएटिव सरणी है।