ホームページ  >  記事  >  バックエンド開発  >  php_PHP チュートリアルで現在のページの完全な URL アドレスを取得する例

php_PHP チュートリアルで現在のページの完全な URL アドレスを取得する例

WBOY
WBOYオリジナル
2016-07-13 17:00:34867ブラウズ

PHP で現在のページの完全な URL アドレスを取得したい場合は、一般的に使用されるいくつかの PHP グローバル変数関数、主に $_SERVER[] 変数を使用する必要があります。完全な URL アドレスを取得するプログラムを紹介します。現在のページの 。

まずはいくつか見てみましょう

$_SERVER[ 'SERVER_NAME' ] #スクリプトが現在実行されているサーバーホストの名前。
$_SERVER[ 'QUERY_STRING' ] #クエリ文字列。
$_SERVER[ 'HTTP_HOST' ] #ホストの内容: 現在のリクエストのヘッダー。
$_SERVER[ 'HTTP_REFERER' ] #現在のページにリンクされている前のページの URL アドレス。
$_SERVER[ 'SERVER_PORT' ] #サーバーが使用するポート
$_SERVER[ 'REQUEST_URI' ] #このページにアクセスするために必要な URI。


いくつかの表面関数を使って始めましょう

まず基本的なメソッドをいくつか見てみましょう


BaseUrl の 2 つのメソッド

方法 1:

コードは次のとおりです コードをコピー

//baseUrl
関数baseUrl($uri=''){
$baseUrl = ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') 'https://' : 'http://';
$baseUrl .= isset($_SERVER['HTTP_HOST']) $_SERVER['HTTP_HOST'] : getenv('HTTP_HOST');
$baseUrl .= isset($_SERVER['SCRIPT_NAME']) ? dirname($_SERVER['SCRIPT_NAME']) : dirname(getenv('SCRIPT_NAME'));
$baseUrl を返します。'/'.$uri;
}


方法 2:

コードは次のとおりです コードをコピー

/**
     * ローカルホストで閲覧しているとします
     * http://localhost/myproject/index.php?id=8
    */
関数baseUrl()
{
// 出力: /myproject/index.php
$currentPath = $_SERVER['PHP_SELF'];

// 出力: Array ( [dirname] =>gt; /myproject [basename] =>index.php [extension] =>gt; php [filename] =>index )
$pathInfo = pathinfo($currentPath);

// 出力: localhost
$hostName = $_SERVER['HTTP_HOST'];

// 出力: http://
$protocol = strto lower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://' : 'http://';

// return: http://localhost/myproject/
return $protocol.$hostName.$pathInfo['dirname']."/";
}

方法 3

現在のページのフルパスを取得する方法を以下に説明します:

コードは次のとおりです コードをコピー

/**
  *@著者マッキー
  *@ブログ http://www.bKjia.c0m
 */
関数 get_page_url(){
$url = (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') 'https://' : 'http://';
$url .= $_SERVER['HTTP_HOST'];
$url .= isset($_SERVER['REQUEST_URI']) $_SERVER['REQUEST_URI'] : urlencode($_SERVER['QUERY_STRING']) . $url を返します;
}
echo get_page_url();
?>

echo getFullUrl(); 注: php には組み込み関数がないため、URL 全体を実現するには URL のパラメーターを組み合わせる必要があります
コードは次のとおりです コードをコピー

関数 getFullUrl(){
#よくある問題を解決する
$requestUri = '';
If (isset($_SERVER['REQUEST_URI'])) { #$_SERVER["REQUEST_URI"] は Apache でのみサポートされています
$requestUri = $_SERVER['REQUEST_URI'];
} その他 {
If (isset($_SERVER['argv'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?' $_SERVER['argv'][0];
} else if(isset($_SERVER['QUERY_STRING'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?' $_SERVER['QUERY_STRING'];
}
}
// $requestUri をエコーし​​ます。'
';
$scheme = empty($_SERVER["HTTPS"]) '' : ($_SERVER["HTTPS"] == "on") "s" : "";
$protocol = strstr(strto lower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $port = ($_SERVER["SERVER_PORT"] == "80") "" : (":".$_SERVER["SERVER_PORT"]);
# 完全な URL を取得します
$_fullUrl = $protocol . $_SERVER['SERVER_NAME'] .$port $_fullUrl を返します;
}

http://www.bkjia.com/PHPjc/631252.html

tru​​ehttp://www.bkjia.com/PHPjc/631252.html技術記事 php では、現在のページの完全な URL アドレス、主に変数 $_SERVER[] を取得するために、一般的に使用されるいくつかの php グローバル変数関数を使用する必要があります。現在のページを取得する方法を説明します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。