php獲取url域名,php獲取IP地址

本文目錄一覽:

PHP獲取來路域名

$url = $_SERVER[“HTTP_REFERER”]; //獲取完整的來路URL

$str = str_replace(“http://”,””,$url); //去掉http://

$strdomain = explode(“/”,$str); // 以「/」分開成數組

$domain = $strdomain[0]; //取第一個「/」以前的字元

用上面的方法才準確無誤,如果你用PHP自帶的函數就不對如:

$_SERVER[‘SERVER_NAME’] 這個函數它獲取的是伺服器域名

php如何獲取url

php有系統自帶的函數是可以直接獲取到當前url的,下面小編就過來簡單的分享一下吧,希望能幫到大家的忙;

操作方法

代碼:

?php

//php獲取當前url方法

$url = “http://”.$_SERVER [‘HTTP_HOST’].$_SERVER[‘PHP_SELF’];

echo $url;

?

運行結果

如何通過php獲取提交頁面的URL?

在PHP的開發中我們經常會通過網址URL向另一個網頁傳遞參數的問題。在這個過程中我們首先需要獲取到當前頁面的URL,然後將URL中各個參數的值保存到變數中。整個過程較為簡單,主要涉及到$_SERVER的用法。

1、$_server[‘http_host’],作用:獲取網址域名,如(,這是波波的一個博客,暫且做例子吧)。

2、$_SERVER[“PHP_SELF”],作用:獲取網頁地址,如(/code/445.html)。

3、$_SERVER[“QUERY_STRING”],作用:獲取網址URL參數,待會我們會在實例中用到。

4、$_SERVER[“HTTP_REFERER”],作用:獲取用戶的代理。

通過上述說明我們基本上已經了解了$_server的常用方法,下面我們首先通過PHP代碼獲取當前網頁網址中傳遞的參數。對參數進行解析並輸出到屏幕上。請看源代碼:

?php

$para= urldecode($_SERVER[“QUERY_STRING”]);//避免網址參數中文亂碼

//舉例 url=”;b=bbbbc=cccc”

//$para = ‘a=aaaab=bbbbc=cccc’;

$cont = get_data($para);

echo $cont[‘a’]; //屏幕列印aaaa

function get_data($str){

$data = array();

$parameter = explode(”,end(explode(‘?’,$str)));

foreach($parameter as $val){

$tmp = explode(‘=’,$val);

$data[$tmp[0]] = $tmp[1];

}

return $data;

}

?

php如何獲取當前頁面url路徑

利用PHP實現

1、//獲取域名或主機地址

echo $_SERVER[‘HTTP_HOST’]; #localhost 

2、//獲取網頁地址

echo $_SERVER[‘PHP_SELF’]; #/PHP/XX.php

3、//獲取網址參數

echo $_SERVER[“QUERY_STRING”]; #id=5  

4、//獲取用戶代理 

echo $_SERVER[‘HTTP_REFERER’];  

5、//獲取完整的url

echo ‘http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];

echo’http://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘PHP_SELF’].’?’.$_SERVER[‘QUERY_STRING’];

#

擴展資料

PHP的特性包括:

1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。

2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,

PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;

PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。

3. PHP支持幾乎所有流行的資料庫以及操作系統。

參考資料來源:腳本之家:PHP獲取當前頁面完整URL的方法

php怎麼獲取域名之後的url

1,$_SERVER[“QUERY_STRING”]

說明:查詢(query)的字元串

2,$_SERVER[“REQUEST_URI”]

說明:訪問此頁面所需的URI

3,$_SERVER[“SCRIPT_NAME”]

說明:包含當前腳本的路徑

4,$_SERVER[“PHP_SELF”]

說明:當前正在執行腳本的文件名

實例:

1, (直接打開主頁)

結果:

$_SERVER[“QUERY_STRING”] = “”

$_SERVER[“REQUEST_URI”] = “/”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

2, (附帶查詢)

結果:

$_SERVER[“QUERY_STRING”] = “p=222”

$_SERVER[“REQUEST_URI”] = “/?p=222”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

3,;q=biuuu

結果:

$_SERVER[“QUERY_STRING”] = “p=222q=biuuu”

$_SERVER[“REQUEST_URI”] = “/index.php?p=222q=biuuu”

$_SERVER[“SCRIPT_NAME”] = “/index.php”

$_SERVER[“PHP_SELF”] = “/index.php”

$_SERVER[“QUERY_STRING”]獲取查詢語句,實例中可知,獲取的是?後面的值

$_SERVER[“REQUEST_URI”] 獲取後面的值,包括/

$_SERVER[“SCRIPT_NAME”] 獲取當前腳本的路徑,如:index.php

$_SERVER[“PHP_SELF”] 當前正在執行腳本的文件名

當前url:”http://”.$_SERVER[‘HTTP_HOST’].$_SERVER[‘PHP_SELF’]

總結一下,對於QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解將有利於我們在$_SERVER函數中正確調用這四個值。通過實例詳解$_SERVER函數中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四個變數之間的區別。

$_SERVER[“REQUEST_URI”] :獲取當前請求的完整的(除域名的)url。。。

uchome系統中處理技巧:

代碼

//處理REQUEST_URI

if(!isset($_SERVER[‘REQUEST_URI’])) {

$_SERVER[‘REQUEST_URI’] = $_SERVER[‘PHP_SELF’];

if(isset($_SERVER[‘QUERY_STRING’])) $_SERVER[‘REQUEST_URI’] .= ‘?’.$_SERVER[‘QUERY_STRING’];

}

if($_SERVER[‘REQUEST_URI’]) {

$temp = urldecode($_SERVER[‘REQUEST_URI’]);

if(strexists($temp, ”) || strexists($temp, ‘”‘)) {

$_GET = shtmlspecialchars($_GET);//XSS

}

}

代碼如下:

代碼

?php

echo $_SERVER[‘DOCUMENT_ROOT’].”br”; //獲得伺服器文檔根變數

echo $_SERVER[‘PHP_SELF’].”br”; //獲得執行該代碼的文件伺服器絕對路徑的變數

echo __FILE__.”br”; //獲得文件的文件系統絕對路徑的變數

echo dirname(__FILE__); //獲得文件所在的文件夾路徑的函數

?

//server函數

$_SERVER[“HTTP_REFERER”]=

$_SERVER[“HTTP_ACCEPT_LANGUAGE”]=zh-cn

$_SERVER[“HTTP_ACCEPT_ENCODING”]=gzip, deflate

$_SERVER[“HTTP_USER_AGENT”]=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

$_SERVER[“HTTP_HOST”]=localhost

$_SERVER[“HTTP_CONNECTION”]=Keep-Alive

$_SERVER[“PATH”]=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\php;C:\php\ext

$_SERVER[“SystemRoot”]=C:\WINDOWS

$_SERVER[“COMSPEC”]=C:\WINDOWS\system32\cmd.exe

$_SERVER[“PATHEXT”]=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

$_SERVER[“WINDIR”]=C:\WINDOWS

$_SERVER[“SERVER_SIGNATURE”]=

Apache/2.0.55 (Win32) PHP/5.1.1 Server at localhost Port 80 \\使用的何伺服器

$_SERVER[“SERVER_SOFTWARE”]=Apache/2.0.55 (Win32) PHP/5.1.1

$_SERVER[“SERVER_NAME”]=localhost \\伺服器名稱

$_SERVER[“SERVER_ADDR”]=127.0.0.1

$_SERVER[“SERVER_PORT”]=80 \\伺服器埠

$_SERVER[“REMOTE_ADDR”]=127.0.0.1

$_SERVER[“DOCUMENT_ROOT”]=D:/lianxi \\網站的主目錄

$_SERVER[“SERVER_ADMIN”]=sss@163.com \\安裝APACHE時設置的郵箱

$_SERVER[“SCRIPT_FILENAME”]=D:/lianxi/lianxi/servervalues.php \\當前的網頁的絕對路徑,

$_SERVER[“REMOTE_PORT”]=1076 \\遠程埠

$_SERVER[“GATEWAY_INTERFACE”]=CGI/1.1

$_SERVER[“SERVER_PROTOCOL”]=HTTP/1.1

$_SERVER[“REQUEST_METHOD”]=GET

$_SERVER[“QUERY_STRING”]=\\獲取?號後面的內容

$_SERVER[“REQUEST_URI”]=例子:/lianxi/servervalues.php?a=1b=2

$_SERVER[“SCRIPT_NAME”]=例子:/lianxi/servervalues.php

$_SERVER[“PHP_SELF”]=/lianxi/servervalues.php \\返回當前網頁的相對路徑.

$_SERVER[“REQUEST_TIME”]=1179190013 \\運行時間 單位為十萬分之一毫秒

$_SERVER[“argv”]=Array

$_SERVER[“argc”]=0

1,$_SERVER[“QUERY_STRING”]

說明:查詢(query)的字元串

2,$_SERVER[“REQUEST_URI”]

說明:訪問此頁面所需的URI

3,$_SERVER[“SCRIPT_NAME”]

說明:包含當前腳本的路徑

4,$_SERVER[“PHP_SELF”]

說明:當前正在執行腳本的文件名

實例:

1, (直接打開主頁)

結果:

$_SERVER[“QUERY_STRING”] = 「」

$_SERVER[“REQUEST_URI”] = 「/」

$_SERVER[“SCRIPT_NAME”] = 「/index.php」

$_SERVER[“PHP_SELF”] = 「/index.php」

2, (附帶查詢)

結果:

$_SERVER[“QUERY_STRING”] = 「p=222″

$_SERVER[“REQUEST_URI”] = 「/?p=222″

$_SERVER[“SCRIPT_NAME”] = 「/index.php」

$_SERVER[“PHP_SELF”] = 「/index.php」

3,;q=biuuu

結果:

$_SERVER[“QUERY_STRING”] = 「p=222q=biuuu」

$_SERVER[“REQUEST_URI”] = 「/index.php?p=222q=biuuu」

$_SERVER[“SCRIPT_NAME”] = 「/index.php」

$_SERVER[“PHP_SELF”] = 「/index.php」

$_SERVER[“QUERY_STRING”]獲取查詢語句,實例中可知,獲取的是?後面的值

$_SERVER[“REQUEST_URI”] 獲取後面的值,包括/

$_SERVER[“SCRIPT_NAME”] 獲取當前腳本的路徑,如:index.php

$_SERVER[“PHP_SELF”] 當前正在執行腳本的文件名

代碼

?php

/**

__FILE__ ,

getcwd(),

$_SERVER[“REQUEST_URI”],

$_SERVER[“SCRIPT_NAME”],

$_SERVER[“PHP_SELF”],

$_SERVER[“SCRIPT_FILENAME”],

來觀察一下這些變數或函數的異同.

假設有一個請求地址為:

而test.php 的完整路徑是: D:/server/www/example/test.php

1) getcwd()

將得到瀏覽器請求的頁面文件所在的目錄. 即test.php 文件所在的目錄: D:/server/www/example/ ,

如果在test.php 執行了 require 或 include 語句, 比如 inculde(」test_dir/test2.php」),

那麼在 test2.php 里 getcwd()函數 返回的也將是 test.php 所在的目錄.

2) __FILE__

一個魔術變數, 用它將得到 __FILE__ 變數所在文件的完整路徑,

比如: test.php 里 __FILE__ 將得到 D:/server/www/example/test.php ,

test_dir/test2.php 里的 __FILE__ 將得到 D:/server/www/example/test_dir/test2.php

3) $_SERVER[“SCRIPT_FILENAME”]

將得到瀏覽器請求的頁面文件的完整路徑.

test.php 和 test_dir/test2.php 里用 $_SERVER[“SCRIPT_NAME”] 都將得到 D:/server/www/example/test.php.

4) $_SERVER[“SCRIPT_NAME”]

將得到瀏覽器請求的頁面文件的文件名,注意: 與 $_SERVER[“SCRIPT_NAME”] 不同, 此變數只得到文件名而不包含路徑,

在test.php 與 test_dir/test2.php 用$_SERVER[“SCRIPT_NAME”] 得到的都將是 test.php.

當然, 在test.php 與 test_dir/test2.php 執行 basename($_SERVER[“SCRIPT_FILENAME”]) 與 $_SERVER[“SCRIPT_NAME”] 相同.

執行 在test.php 與 test_dir/test2.php 執行 realpath(」test.php」) 得到的結果與 $_SERVER[“SCRIPT_FILENAME”] 相同.

5) $_SERVER[“PHP_SELF”]

將得到瀏覽器請求頁面的文件名, 並剝掉問號 ? 後的內容, 注意:不包含路徑,

比如在客戶端里請求 ;name=Tom,

那麼test.php 和 test_dir/test2.php 的 $_SERVER[“PHP_SELF”] 都將得到 「test.php」。「age=20name=Tom」被剝掉。

而如果客戶端里請求 ;name=Tom,

那麼test.php 和 test_dir/test2.php 的 $_SERVER[“PHP_SELF”] 都將得到 「test.php/age=20name=Tom」。

6) $_SERVER[“REQUEST_URI”]

將得到瀏覽器請求頁面的文件名, 以及文件名之後的所有內容(注意: 井號 # 之後的內容將被略去),

比如在客戶端里請求 ;name=Tom,

那麼test.php 和 test_dir/test2.php 的 $_SERVER[“REUEST_URI”] 都將得到 「test.php」。「age=20name=Tom」被剝掉。

而如果客戶端里請求 ;name=Tom,

那麼test.php 和 test_dir/test2.php 的 $_SERVER[“REQUEST_URI”] 都將得到 「test.php/age=20name=Tom」。

*/

// test.php:

echo 「test1.php variables br /」;

echo 「getcwd: 「, getcwd(), 「br /」;

echo 「__FILE__: 「, __FILE__, 「br /」;

echo 「REQUEST_URI: 「, $_SERVER[“REQUEST_URI”], 「br /」;

echo 「SCRIPT_NAME: 「, $_SERVER[“SCRIPT_NAME”], 「br /」;

echo 「PHP_SELF: 「, $_SERVER[“PHP_SELF”], 「br /」;

echo 「SCRIPT_FILENAME 「, $_SERVER[“SCRIPT_FILENAME”] , 「br /」;

// 把 test2.php 包含進來, 在 test2.php 里輸出上面的變數,看有什麼不同:

include_once(」test2/test2.php」);

?

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/156835.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 01:58
下一篇 2024-11-18 01:58

相關推薦

  • cmd看地址

    本文將從多個方面詳細闡述cmd看地址,包括如何查看本機IP地址、如何查看路由器IP、如何查看DNS伺服器IP等等。 一、查看本機IP地址 要查看本機IP地址,首先需要打開cmd窗口…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Kubesphere私有域名配置

    本文將從以下幾個方面介紹如何在Kubesphere中配置私有域名: 一、什麼是Kubesphere私有域名 Kubesphere是基於Kubernetes的開源多雲容器化平台,它允…

    編程 2025-04-29
  • 尚矽谷官網地址用法介紹

    尚矽谷是國內一家領先的技術培訓機構,提供了眾多IT職業的培訓,包括Java、Python、大數據、前端、人工智慧等方向。其官網地址為http://www.atguigu.com/。…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 兩個域名指向同一IP不同埠打開不同網頁的實現方法

    本文將從以下幾個方面詳細闡述兩個域名指向同一個IP不同埠打開不同網頁的實現方法。 一、域名解析 要實現兩個域名指向同一個IP不同埠,首先需要進行域名解析。在域名解析的時候,將這…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python解碼URL

    本文將從以下幾個方面對Python解碼URL進行詳細闡述:URL編碼的作用和原理、Python urllib庫解碼URL的基本用法、Python手動解碼URL的方法、特殊字元在UR…

    編程 2025-04-28
  • Python URL解碼

    在Web開發過程中,URL編碼和解碼是一個很常見的問題。本文將會詳細介紹Python中對URL的解碼方法。 一、URL編碼與URL解碼 URI(Uniform Resource I…

    編程 2025-04-28
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28

發表回復

登錄後才能評論