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


1 Answers

जहाँ तक मुझे पता है वहां एक देशी पद्धति नहीं है, लेकिन आप इसका उपयोग कर सकते हैं:

function curPageURL() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
Question

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

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

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




इस एक की जांच ... थोड़ी देर और गंदे लेकिन अच्छा काम करता है ...

 function absolutizeUrl ( $u, $p )
 {
    $url = parse_url( $u );
    $page = parse_url( $p );

    if ( strpos( $u , '/' ) === 0 )
    {
            //already absolute              
    } else {
            $basePath = '';
            if (
                    isset( $page[ 'path' ] )
                    && strpos( ltrim( $page[ 'path' ], '/' ), '/' )
            )
            {
                    $baseTokens = explode( '/', $page[ 'path' ] );
                    array_pop( $baseTokens ); // strip basename                     
                    $baseTokens[] = $u;
                    $u = join( '/', $baseTokens );
            }
    }
    if ( ! isset( $url[ 'host' ]))
    {
            $u = 'http://'.$page[ 'host' ].'/'.ltrim( $u, '/' );
    }
    return $u;
  }



Related