मुझे वर्तमान पृष्ठ का पूरा URL कैसे मिलेगा?


32

मुझे वर्तमान में खोले गए पृष्ठ का पूरा URL प्राप्त करने की आवश्यकता है। मैं निम्नलिखित कोड का उपयोग करता हूं, लेकिन यह वापस आ जाता है http://localhost/mysite/page_name

$path = isset($_GET['q']) ? $_GET['q'] : '<front>';
$link = url($path, array('absolute' => TRUE));

यह मेरे कोड को पूरा करने के लिए पर्याप्त नहीं है; मैं उन मानों को प्राप्त करना चाहता हूं जो URL के साथ पास किए गए हैं http://localhost/mysite/page_name/value1=value&value2=value

मैं उसे कैसे कर सकता हूँ?

जवाबों:


32

क्या आपने request_uri () का उपयोग करने का प्रयास किया है ?

$_SERVER['HTTP_HOST'] . request_uri();

यह चाल करना चाहिए। मैंने खुद इसे आजमाया नहीं है, और मैं थोड़ा हट सकता हूं, लेकिन मेरा सुझाव है कि आप कोशिश करें। जावास्क्रिप्ट से, आप window.location.hrefचर का उपयोग कर सकते हैं ।


महान चाल मैंने url प्राप्त करने के लिए $ _SERVER ['REQUEST_URI'] का उपयोग किया, लेकिन जब मैं url प्रिंट करता हूं: sitename / pagename? field_empf_salaryfrom_tid = सभी / field_emp_date_value [मूल्य] [वर्ष] = & field_emp_date_value [मान] [मान] / pagename
पेट

2
@abd आप शायद के लिए देख रहे$_SERVER['QUERY_STRING']
क्लाइव

क्या मैं url से प्रत्येक मान को एक चर में रख सकता हूँ? $ S में (field_empf_salaryfrom_tid = सभी) का मूल्य की तरह
अब्द

मैं के साथ जवाब देने के लिए प्रोटोकॉल जोड़ने का सुझावisset($_SERVER["HTTPS"]) ? 'https' : 'http';
ऑगस्टो

request_uri()यहां तक ​​कि 404 पृष्ठों पर काम करता है, यह एक बहुत अच्छी बात है।
लीमैनक्स

24

यहां Drupal API का उपयोग करके वर्तमान पृष्ठ के लिए पूर्ण URL प्राप्त करने का तरीका बताया गया है:

$current_url = url(current_path(), array('absolute' => TRUE));

यदि आपको अतिरिक्त (गैर-क्यू) क्वेरिस्ट्रिंग मापदंडों की आवश्यकता है, तो आप उपयोग कर सकते हैं:

$current_url = url(current_path(), array('absolute' => TRUE, 
                                         'query' => drupal_get_query_parameters()));

7

आप निम्न कोड का उपयोग कर सकते हैं।

global $base_root;
$current_url = $base_root . request_uri();
echo $current_url;


0

मुझे लगता है कि ऐसा करने का सबसे अच्छा तरीका url () API का उपयोग करना है

url('your/drupal/path', array('absolute' => TRUE));

सवाल एक जेनेरिक पेज के लिए पूछ रहा है, जिसके लिए कोई रास्ता नहीं है।
kiamlaluno

ठीक है, आप के your/drupal/path¡साथ बदल सकते हैं current_path(), जैसा कि @ david-thomas ने पहले लिखा था।
रॉबर्टो पेरुज़ो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.