2013-05-13 9 views
9

कहें कि उपयोगकर्ता निम्नलिखित पेज लोड कर रहा है: www.example.com/myDirectory/myPage.php?answer=yes
और मैं उस से myPage.php?answer=yes प्राप्त करने के लिए PHP का उपयोग करना चाहता हूं। हालांकि, basename($_SERVER['PHP_SELF']) केवल myPage.php लौटाता है। मुझे यह कैसे करना है?यूआरएल पैरामीटर के साथ वर्तमान फ़ाइल नाम प्राप्त करें

+0

PHP parse_url() डोमेन, फ़ाइल की एक सरणी लौटाएगा और चर प्राप्त करेगा। – Dinesh

उत्तर

21

आप क्वेरी स्ट्रिंग जोड़ सकते हैं के बाद आप get यह के रूप में एक environment variable:

$myurl = strlen($_SERVER['QUERY_STRING']) ? basename($_SERVER['PHP_SELF'])."?".$_SERVER['QUERY_STRING'] : basename($_SERVER['PHP_SELF']); 
+0

यह '/ myDirectory/myPage.phpanswer = yes' देता है। मुझे 'myPage.php? Answer = yes' चाहिए। – Mooseman

+0

@Mooseman आप '/' पर विस्फोट कर सकते हैं, और परिणामी सरणी – Ascherer

+0

व्हाउप्स में अंतिम तत्व प्राप्त कर सकते हैं। अभी तय – Blazemonger

0
$_SERVER['QUERY_STRING'] 
:

$myurl = basename($_SERVER['PHP_SELF']) . "?" . $_SERVER['QUERY_STRING']; 

आप कोई क्वेरी स्ट्रिंग की संभावना पर विचार करने की जरूरत है, एक सशर्त परीक्षण जोड़ने

आपको पैरामीटर

9

यह आसान है ?:

basename($_SERVER['REQUEST_URI']) 
+1

मुझे नहीं पता ; मुझे बताओ! –

1

पिछला पैरामीटर वाले यूआरएल के लिए निम्नलिखित यूआरएल का पहला भाग होगा (यानी। पहले भाग?) परिवर्तनीय $ current_url [0] के भीतर और फिर इसे प्रिंट करें।

<? 
$current_url = explode("?", $_SERVER['REQUEST_URI']); 
echo $current_url[0] ; 
?> 
संबंधित मुद्दे