php - वर्तमान पृष्ठ का पूर्ण URL प्राप्त करना (PHP)




3 Answers

function selfURL() 
{ 
    $s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : ""; 
    $protocol = strleft(strtolower($_SERVER["SERVER_PROTOCOL"]), "/").$s; 
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
    return $protocol."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 
} 

function strleft($s1, $s2) { return substr($s1, 0, strpos($s1, $s2)); }

इस सवाल का पहले से ही उत्तर दिया गया है:

मैं इस पृष्ठ पर काम कर रहा हूं: http://localhost/projectname/custom.php

दोनों <?php echo $_SERVER['REQUEST_URI']; ?> <?php echo $_SERVER['REQUEST_URI']; ?> और <?php echo $PHP_SELF; ?> <?php echo $PHP_SELF; ?> पूर्ण स्थान न दें पूर्ण url स्थान को पकड़ने के लिए मुझे क्या उपयोग करना चाहिए?




यदि आप किसी लिंक ट्रैकिंग स्क्रिप्ट से गुजर रहे यूआरएल के अंत में वैरिएबल्स को वापस जोड़ना चाहते हैं, उदाहरण के लिए, आप यह कोशिश कर सकते हैं:

$URI = array();
foreach($_GET as $key=>$val)
{
   if ($key!="link"&&$key!="id"&&$key!="type") $URI[] = "$key=".urlencode($val);
}
if (sizeof($URI)>0) $link.="&".join("&",$URI);

इस मामले में, "लिंक", "आईडी" और "प्रकार" वेरिएबल्स थे जिन्हें मैं ट्रैकिंग के लिए आवश्यक था, लेकिन जिस URL को मैं ट्रैक करना चाहता था वह उस अंत के एक चर है जो मेरी स्क्रिप्ट द्वारा छीन लिया गया था जैसे कि यह था उस प्रश्न को भेजा जा रहा है; मुझे इसे शीर्षक ("स्थान:"। $ लिंक) पर जाने से पहले इसे लिंक URL पर वापस जोड़ने की आवश्यकता है।

यदि आप यह काम कर रहे हैं, तो यह बेहतर है और उपरोक्त उदाहरण से कम है।




मैंने यह कोड बहुत मददगार पाया

$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') === 
FALSE ? 'http' : 'https';            // Get protocol HTTP/HTTPS
$host     = $_SERVER['HTTP_HOST'];   // Get  www.domain.com
$script   = $_SERVER['SCRIPT_NAME']; // Get folder/file.php
$params   = $_SERVER['QUERY_STRING'];// Get Parameters occupation=odesk&name=ashik

$currentUrl = $protocol . '://' . $host . $script . '?' . $params; // Adding all

echo $currentUrl;



Related

php scripting path location