PHP में पूरा URL प्राप्त करें

Retrieve Full Url Php



PHP में दो प्रकार के वैश्विक चर का उपयोग किया जा सकता है: सुपरग्लोबल चर और उपयोगकर्ता द्वारा परिभाषित चर। $_सर्वर एक सुपरग्लोबल सरणी चर है जिसका उपयोग वर्तमान पृष्ठ के पूर्ण पथ को पुनः प्राप्त करने के लिए किया जाता है। पृष्ठ का पूरा URL प्राप्त करने के लिए URL के प्रोटोकॉल (HTTP या HTTPS) की भी आवश्यकता होती है। अगर $_SERVER['HTTPS'] रिटर्न 'पर', तो HTTPS का उपयोग URL पते के साथ किया जाएगा, अन्यथा, एचटीटीपी उपयोग किया जाएगा। का उपयोग करके वर्तमान पृष्ठ का पूरा URL पता कैसे प्राप्त किया जा सकता है $_सर्वर इस ट्यूटोरियल में सरणी को समझाया गया है।

आवश्यक चर

वर्तमान पृष्ठ के URL पते का पता लगाने के लिए निम्नलिखित सुपरग्लोबल चर आवश्यक हैं।







सुपरग्लोबल वैरिएबल प्रयोजनों
$_SERVER['HTTPS'] यह लौटता है पर यदि वर्तमान पृष्ठ के URL में HTTPS प्रोटोकॉल का उपयोग किया जाता है।
$_SERVER['HTTP_HOST'] यह वर्तमान पृष्ठ के सर्वर का नाम देता है।
$_SERVER['REQUEST_URI'] यह अनुरोधित संसाधन नाम देता है।
$_SERVER['SERVER_PORT'] यह सर्वर का पोर्ट नंबर देता है।
$_SERVER['QUERY_STRING'] यदि यह वर्तमान पृष्ठ के URL पते में मौजूद है तो यह क्वेरी स्ट्रिंग मान देता है।

उदाहरण 1: सशर्त विवरण का उपयोग करके वर्तमान पृष्ठ का URL प्रदर्शित करें

निम्न उदाहरण दिखाता है कि वर्तमान पृष्ठ के URL में प्रोटोकॉल का उपयोग करने के लिए सशर्त विवरण का उपयोग कैसे किया जा सकता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।



वर्तमान URL का डोमेन नाम प्राप्त करने के लिए $_SERVER['HTTP_HOST'] के मान का उपयोग किया जाता है। अनुरोधित संसाधन का नाम प्राप्त करने के लिए $_SERVER['REQUEST_URI'] का मान उपयोग किया जाता है। गया) फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि $_SERVER['HTTPS'] एक सेट है या नहीं, और यदि सेट है, तो $_SERVER['HTTPS'] का मान जांचें कि यह है पर या नहीं। इसके बाद, इन तीन चरों के मानों को वर्तमान पृष्ठ के पूर्ण URL को पुनः प्राप्त करने के लिए '//:' के साथ जोड़ दिया जाता है।




// वर्तमान पृष्ठ का डोमेन नाम पढ़ें
$डोमेन = $_सर्वर['HTTP_HOST'];
// अनुरोधित संसाधन पढ़ें
$संसाधन = $_सर्वर['REQUEST_URI'];
// वर्तमान यूआरएल के प्रोटोकॉल का पता लगाएं
अगर( गया ($_सर्वर['एचटीटीपीएस']) && $_सर्वर['एचटीटीपीएस'] === 'पर')
$प्रोटोकॉल = 'https';
अन्यथा
$प्रोटोकॉल = 'एचटीटीपी';

// पूरा URL पता प्राप्त करने के लिए सभी भागों को मिलाएं
$url = $प्रोटोकॉल.': //'.$डोमेन.$संसाधन;
// वर्तमान पृष्ठ का URL पता प्रिंट करें
फेंक दिया '

वर्तमान का URL पता
पृष्ठ है:

'
. $url;?>

आउटपुट:





सर्वर से स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। $_SERVER['HTTPS'] का मान नहीं है पर स्थानीय सर्वर के लिए। तो आउटपुट दिखाता है एचटीटीपी वर्तमान यूआरएल के लिए प्रोटोकॉल।



उदाहरण 2: टर्नरी ऑपरेटर का उपयोग करके वर्तमान पृष्ठ का URL प्रदर्शित करें

निम्न उदाहरण टर्नरी ऑपरेटर का उपयोग करके वर्तमान पृष्ठ का पूरा URL प्राप्त करने का तरीका दिखाता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।

अगर पिछले उदाहरण में इस शर्त का उपयोग यह पता लगाने के लिए किया जाता है कि वर्तमान पृष्ठ के URL में किस प्रोटोकॉल का उपयोग किया गया है। इस स्क्रिप्ट में टर्नरी ऑपरेटर का उपयोग करके वही कार्य किया जाता है। गया) फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि $_SERVER['HTTPS'] एक सेट है या नहीं, और यदि $_SERVER['HTTPS'] का मान है पर, तो टर्नरी ऑपरेटर HTTPS लौटाएगा, अन्यथा यह HTTP लौटाएगा। यूआरएल के अन्य हिस्सों को पिछले उदाहरण की तरह पुनर्प्राप्त और मुद्रित किया जाता है।


// वर्तमान यूआरएल के प्रोटोकॉल का पता लगाएं
$प्रोटोकॉल = ( गया ($_सर्वर['एचटीटीपीएस']) && $_सर्वर['एचटीटीपीएस']
== 'पर'?'https' : 'एचटीटीपी');
// वर्तमान पृष्ठ का डोमेन नाम पढ़ें
$डोमेन = $_सर्वर['HTTP_HOST'];
// अनुरोधित संसाधन पढ़ें
$संसाधन = $_सर्वर['REQUEST_URI'];
// पूरा URL पता प्राप्त करने के लिए सभी भागों को मिलाएं
$url = $प्रोटोकॉल.': //'.$डोमेन.$संसाधन;
// वर्तमान पृष्ठ का URL पता प्रिंट करें
फेंक दिया '

वर्तमान पृष्ठ का URL पता है:

'
. $url;
?>

आउटपुट:

सर्वर से स्क्रिप्ट चलाने के बाद निम्न आउटपुट दिखाई देगा। $_SERVER['HTTPS'] का मान नहीं है पर स्थानीय सर्वर के लिए। तो आउटपुट वर्तमान यूआरएल के लिए HTTP प्रोटोकॉल दिखाता है।

उदाहरण 3: पोर्ट नंबर के आधार पर वर्तमान पृष्ठ का URL प्रदर्शित करें

पिछले दो उदाहरणों में, पृष्ठ के वर्तमान URL के प्रोटोकॉल का पता लगाने के लिए $_SERVER['HTTPS'] के मान का उपयोग किया जाता है, और URL के साथ कोई क्वेरी स्ट्रिंग का उपयोग नहीं किया जाता है। निम्न उदाहरण दिखाता है कि कैसे $_SERVER[‘SERVER_PORT’] चर का उपयोग प्रोटोकॉल का पता लगाने और क्वेरी स्ट्रिंग के साथ पूरा URL पता पुनर्प्राप्त करने के लिए किया जा सकता है। निम्न स्क्रिप्ट के साथ एक PHP फ़ाइल बनाएँ।

यहां, प्रोटोकॉल का पता लगाने के लिए कई तार्किक स्थितियों और टर्नरी ऑपरेटर का उपयोग किया जाता है। अगर $_SERVER['HTTPS'] का मान खाली है या पर सेट है बंद, फिर यह वर्तमान URL के प्रोटोकॉल का पता लगाने के लिए $_SERVER['SERVER_PORT'] के मूल्य की जाँच करेगा। $_SERVER['QUERY_STRING'] वेरिएबल का उपयोग URL से क्वेरी स्ट्रिंग मान को पुनः प्राप्त करने के लिए किया जाता है।


// वर्तमान यूआरएल के प्रोटोकॉल का पता लगाएं
$प्रोटोकॉल = ((! खाली ($_सर्वर['एचटीटीपीएस']) && $_सर्वर['एचटीटीपीएस']
! = 'बंद') || $_सर्वर['सर्वर पोर्ट'] == 443)?'https: //' : 'एचटीटीपी: //';
// वर्तमान पृष्ठ का डोमेन नाम पढ़ें
$डोमेन = $_सर्वर['HTTP_HOST'];
// अनुरोधित संसाधन पढ़ें
$संसाधन = $_सर्वर['REQUEST_URI'];
// क्वेरी स्ट्रिंग मान पढ़ें
$क्वेरी = $_सर्वर['क्वेरी स्ट्रिंग'];
// पूरा URL पता प्राप्त करने के लिए सभी भागों को मिलाएं
$url = $प्रोटोकॉल.$डोमेन.$संसाधन;
// वर्तमान पृष्ठ का URL पता प्रिंट करें
फेंक दिया '

वर्तमान पृष्ठ का पूरा URL पता है:

'
. $url;
// क्वेरी स्ट्रिंग भाग को प्रिंट करें
फेंक दिया '

क्वेरी स्ट्रिंग है:

'
. $क्वेरी;
?>

आउटपुट:

बिना किसी क्वेरी स्ट्रिंग के सर्वर से उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। URL में कोई क्वेरी स्ट्रिंग प्रदान नहीं की गई है। तो आउटपुट खाली क्वेरी स्ट्रिंग दिखाता है।

क्वेरी स्ट्रिंग के साथ सर्वर से उपरोक्त स्क्रिप्ट को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। निम्न आउटपुट क्वेरी स्ट्रिंग और क्वेरी स्ट्रिंग के साथ URL पता अलग-अलग दिखाता है।

निष्कर्ष

इस ट्यूटोरियल में विभिन्न उदाहरणों का उपयोग करके वर्तमान पृष्ठ का पूरा URL प्राप्त करने के विभिन्न तरीके दिखाए गए हैं। इस ट्यूटोरियल में URL और क्वेरी स्ट्रिंग को अलग करने का तरीका भी दिखाया गया है। उम्मीद है, यह ट्यूटोरियल पाठकों को PHP स्क्रिप्ट का उपयोग करके वर्तमान पृष्ठ के पूर्ण URL को पढ़ने का तरीका जानने में मदद करेगा।