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();
?>
|
現在のページのフルパスを取得する方法を以下に説明します:
コードは次のとおりです |
コードをコピー |
関数 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 を返します;
}
|
echo getFullUrl(); 注: php には組み込み関数がないため、URL 全体を実現するには URL のパラメーターを組み合わせる必要があります
http://www.bkjia.com/PHPjc/631252.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631252.html技術記事 php では、現在のページの完全な URL アドレス、主に変数 $_SERVER[] を取得するために、一般的に使用されるいくつかの php グローバル変数関数を使用する必要があります。現在のページを取得する方法を説明します...
。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31