2010-11-11 6 views
12

हाय मैं एक सत्र चर में अपना वर्तमान यूआरएल स्टोर करने की कोशिश कर रहा हूं।कोडइग्निटर current_url क्वेरी स्ट्रिंग्स नहीं दिखाता

मेरा ऐप www.domain.com/add?url=http://www.google.com

लेकिन current_url तरह की क्वेरी स्ट्रिंग() रिटर्न 'ww.domain.com/add' का उपयोग करता है। क्वेरी स्ट्रिंग के बिना यूआरएल।

मैंने सहायक फ़ाइल की जांच की है और current_url बस यूरी सेगमेंट को कॉन्फ़िगरेशन में site_url सेट में जोड़ना प्रतीत होता है।

function current_url() 
{ 
    $CI =& get_instance(); 
    return $CI->config->site_url($CI->uri->uri_string()); 
} 

कोई भी जानता है कि मैं उन्हें जोड़ने के लिए क्वेरी स्ट्रिंग कैसे प्राप्त कर सकता हूं, या यहां तक ​​कि केवल पूरे यूआरएल को पकड़ सकता हूं।

उत्तर

28

एक MY_url_helper बनाएँ:

function current_url() 
{ 
    $CI =& get_instance(); 

    $url = $CI->config->site_url($CI->uri->uri_string()); 
    return $_SERVER['QUERY_STRING'] ? $url.'?'.$_SERVER['QUERY_STRING'] : $url; 
} 
+1

शांत, धन्यवाद। $ _SERVER ['QUERY_STRING'] – michael

+0

के बारे में नहीं पता था कि यह बहुत ही अच्छा था, इससे वास्तव में मुझे समस्या हल करने में मदद मिली। धन्यवाद! –

+7

मूल फ़ंक्शन भी उपलब्ध कराने के लिए आप इस फ़ंक्शन को 'current_full_url()' नाम भी दे सकते हैं। – machineaddict

5

मुझे नहीं लगता कि कोडइग्निटर के लिए इसके लिए कोई सहायक है। पूर्ण URL

इको:

echo base_url().ltrim($_SERVER['REQUEST_URI'], '/'); 

केवल क्वेरी स्ट्रिंग: बस इस बात के लिए PHP के देशी समर्थन का उपयोग

echo $_SERVER['QUERY_STRING']; 
+2

इस विधि केवल होगा यदि आपके पास अपने डोमेन रूट में प्रोजेक्ट है, तो अन्यथा प्रोजेक्ट का फ़ोल्डर इस विधि के साथ दो बार दिखाई देगा। – machineaddict