上午在做一個需求時,需要利用 php 在后端獲取頁面的完整地址,以前不少做這樣的需求所以記錄了一些常用到的函數,就發表一下。有需要的拿去吧!

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

示例1

<?php
function getpageurl() {
    $pageURL = 'http';
    if(isset($_SERVER['HTTPS']) && $_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;
}
?>

調用方法:

<?php
echo getpageurl();
?>

注意:

1、$_SERVER['HTTPS'] 變量在 HTTPS 鏈接的情況下, 一些個別的服務器環境中會返回 null,要特別注意一下 (以后會單獨的出一篇博文講一下)

2、上面的函數會返回完整的url地址,包括提交的參數。

示例2:

<?php
function get_url() {
    $sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'http://' : 'http://';
    $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
    $path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
    $relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info);
    return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;
}
?>

php 獲取當前頁面的url地址不包括參數的方法教程

国产视频app上面給出兩個關于php獲取頁面完整url地址的函數,會將url中提交的參數也一并獲取到,如果我們只單單的獲取一個地址而不需要參數的話,可以參考下面的示例!

示例代碼:

<?php
function getpageurl_t() {
    $pageURL = 'http';
    if(isset($_SERVER['HTTPS']) && $_SERVER["HTTPS"] == "on"){
        $pageURL .= "s";
    }
    $pageURL .= "://";
    $this_page = $_SERVER["REQUEST_URI"];
    //過濾要提交的參數
    if(strpos($this_page, "?") !== false){
        $this_pages = explode("?", $this_page);
        $this_page = reset($this_pages);
    }
    if ($_SERVER["SERVER_PORT"] != "80") {
        $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $this_page;
    }else{
        $pageURL .= $_SERVER["SERVER_NAME"] . $this_page;
    }
    return $pageURL;
}
?>

函數調用:

<?php
echo getpageurl_t() ;
?>

php中其它關于獲取url地址的操作方法

国产视频app你可以參考下面 php 中關于對url地址的一些操作方法來實現自己的需求!

<?php
//測試網址:   http://localhost/blog/ss.php?id=10
//獲取域名或主機地址
echo $_SERVER['HTTP_HOST']."<br>"; // localhost
//獲取網頁地址
echo $_SERVER['PHP_SELF']."<br>"; // blog/ss.php
 
//獲取網址參數
echo $_SERVER["QUERY_STRING"]."<br>"; // id=10
 
//獲取用戶代理
echo $_SERVER['HTTP_REFERER']."<br>";
 
//獲取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
// http://localhost/blog/ss.php?id=10
 
//包含端口號的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
// http://localhost:80/blog/ss.php?id=10
 
//只取路徑
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
// http://localhost/blog
?>