程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP獲取當前頁面URL地址程序代碼

PHP獲取當前頁面URL地址程序代碼

編輯:關於PHP編程

在php中要獲取當前頁面url地址方法很簡單,下面我來給大家總結一下利用相關函數獲取完整頁面url地址的實例。

PHP的預定義變量$_SERVER是一個包含頭部(headers),路徑信息及腳本位置的數組,數組的實體由web服務器創建.
利用$_SERVER數組,我們可以獲取URL完整路徑及真實路徑,讓自己隨心所欲的運用它們.
$_SERVER['SERVER_NAME'] // 當前運行腳本所在服務器主機的名稱.
$_SERVER[SERVER_PORT'] //用戶連接到服務器時所使用的端口.
$_SERVER['REQUEST_URI'] //當前運行腳本除主機名外的請求URL.
$_SERVER['DOCUMENT_ROOT'] //當前運行腳本所在的文檔根目錄.
舉例 URL : http://xsooo.com/Test/Test.php
$_SERVER['SERVER_NAME']:  xsooo.com
$_SERVER['SERVER_PORT'] : 80
$_SERVER['REQUEST_URI'] : /Test/Test.php
$_SERVER['DOCUMENT_ROOT'] : /home/var/www/xsooo.com/htdocs
所以URL完整路徑為:

 代碼如下 復制代碼

<?php
    echo 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
?>

說明 :

1. 默認http的端口為80 ,所以一般$_SERVER['SERVER_PORT']不納入URL完整路徑,當然特殊情況,特殊對待!

2. 有人會用$_SERVER['REMOTE_HOST']獲取主機名,可是它的含義是:正在浏覽當前頁面用戶的主機名(此變量必須由Web 服務器來創建).

延伸:

$_SERVER['REMOTE_HOST']為空值的解決方法
修改apache服務器配置文件httpd.conf內的HostnameLookups為On

在這裡我想總結一下取得地址欄內URL及文件所屬的我更路徑的一些信息:
運用$_SERVER[ ]我們可以來完成許多事情:它是一個包含頭部(headers),路徑信息及腳本位置的數組,數組的實體由web服務器創建。

這是一個“superglobal”,或者可以描述為自動全局變量。這只不過意味這它在所有的腳本中都有效。在函數或方法中您不需要使用global $_SERVER; 訪問它,就如同使用 $HTTP_SERVER_VARS 一樣。
$HTTP_SERVER_VARS 包含著同樣的信息,但是不是一個自動全局變量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的變量,PHP 處理它們的方式不同。)如果設置了 register_globals 指令,這些變量也在所有腳本中可用;也就是,分離了 $_SERVER 和 $HTTP_SERVER_VARS 數組。
 
$_SERVER['HTTP_HOST'] 取得當前請求的Host:頭部內容
$_SERVER['PHP_SELF']這可能是我們最為經常用到的了,它返回當前調用 的頁的文件名,如果是http://localhost/test/2005/test.php, 那麼將會返回/test/2005/test.php
$_SERVER['SCRIPT_NAME']它將返回包含當前腳本的路徑。這在頁面需要指向自己時非常有用
$_SERVER['SCRIPT_FILENAME']它將返回當前文件所在的絕對路徑信息
$_SERVER['REQUEST_URI']返回訪問此頁面所需的URI,包括"/"

當然還有許多路徑函數:

dirname(),返回路徑信息中的目錄部分,前面是帶有"/"的
basename()返回路徑中的基本的文件名部分,當然也可以設置後綴來控制輸出。
realpath(),返回路徑信息的絕對規范化的路徑

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved