在網站后臺設計時,有時候因為項目要求,需要獲取當前網頁的url地址。php中獲取url地址,以url中各個參數的方法有很多,那么接下來就來說一說,php中如何獲取url地址,以及url中包含的其它參數的方法。

php 獲取當前頁面的url地址的方法

測試網址

http://feiniaomy.com/c.php?id=3

php獲取當前網頁的網址,需要用到超全局變量 $_SERVER,所以我們,先來打印一下。

php代碼

<?php
var_dump($_SERVER);
?>

打印結果:

array(34) {
  ["QUERY_STRING"]=>
  string(4) "id=3"
  ["PHP_SELF"]=>
  string(6) "/c.php"
  ["HTTP_HOST"]=>
  string(13) "feiniaomy.com"
  ["SERVER_PORT"]=>
  string(2) "80"
  ["REQUEST_METHOD"]=>
  string(3) "GET"
  ["REQUEST_URI"]=>
  string(11) "/c.php?id=3"
  ["REQUEST_SCHEME"]=>
  string(4) "http"
  .....
}

国产视频app通過上面的打印結果,可以發現 $_SERVER 超全局變量是一個包含有url地址,url參數,網頁的路徑等肉容的數組。我們可以像平時操作數組一樣,從 $_SERVER 變量中提取所需要的信息

php獲取主域名

<?php
echo $_SERVER['HTTP_HOST'];
?>

輸出結果:

feiniaomy.com

php獲取當前頁面的網頁地址

<?php
echo $_SERVER['PHP_SELF'];
?>

輸出結果:

/c.php

php獲取當前頁面url的參數

<?php
echo $_SERVER["QUERY_STRING"];
?>

輸出結果:

id=3

php獲取端口號

<?php
echo $_SERVER["SERVER_PORT"];
?>

輸出結果:80

php獲取當頁網址的完整的url

上面的示例中,介紹了php獲取url中的各個參數的方法,下面的示例是獲取當前頁面的完整的url地址的自定義函數。

函數代碼:

<?php
function GetPageUrl(){
    // 判斷是否https
    $protocol = ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') || $_SERVER['SERVER_PORT'] == 443) ? "http://": "http://";
    //組合url
    $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    return $url;
}
?>

函數調用方法:

<?php
echo GetPageUrl();
?>

輸出結果:

http://feiniaomy.com/c.php?id=3