phpurl獲取路徑,php中url

本文目錄一覽:

關於網頁php語言獲取當前url

建議你先查看一下php的全局變量$_SERVER的說明;

根據你的意思是想截取query_string的不同個數的參數,這裡說的query_string就是page=1qq=22id=73……這一串字符串,page、qq、id……也就是你請求的參數

這裡可以先獲取query_string,即$_SERVER[‘QUERY_STRING’],這裡即為「page=1qq=22id=73」,然後通過”分割成不同的部分,這裡最簡單的方法就是explode()方法

,然後根據你需要的個數,生成最後你需要的url字符串

測試代碼如下:

?php

$query = explode(”, $SERVER_[‘QUERY_STRING’]);

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

//下面根據你的需要構造url,建議用一個小的函數或者for循環

//$url = $url . ‘?’ . $query[0]; // 輸出?page=1

$url = $url . ‘?’ . $query[0] . ” . $query[1]; //輸出?page=1qq=2

echo $url;

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

#測試網址:

//獲取域名或主機地址

echo $_server[‘http_host’].”

“; #localhost

//獲取網頁地址

echo $_server[‘php_self’].”

“; #/blog/testurl.php

//獲取網址參數

echo $_server[“query_string”].”

“; #id=5

//獲取用戶代理

echo $_server[‘http_referer’].”

“;

//獲取完整的url

echo ‘http://’.$_server[‘http_host’].$_server[‘request_uri’];

echo ‘http://’.$_server[‘http_host’].$_server[‘php_self’].’?’.$_server[‘query_string’];

#

//包含端口號的完整url

echo ‘http://’.$_server[‘server_name’].’:’.$_server[“server_port”].$_server[“request_uri”];

#

//只取路徑

$url=’http://’.$_server[‘server_name’].$_server[“request_uri”];

echo dirname($url);

#

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

在不同的環境下 可能略有不同有的可能取不到值 常用的是下面三個

$_SERVER[“REQUEST_URI”] /www/video.php?id=12

$_SERVER[“SCRIPT_NAME”] /www/video.php

$_SERVER[“PHP_SELF”] /www/video.php

分離出video.php的話用explode按/切開 取最後一個就好了

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-hk/n/305143.html

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

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

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

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

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

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

    編程 2025-04-29
  • Python文件路徑賦值

    Python中文件操作是非常基本的操作,而文件路徑是文件操作的前提。本文將從多個方面闡述如何在Python中賦值文件路徑。 一、絕對路徑和相對路徑 在Python中,路徑可以分為絕…

    編程 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
  • JS圖片沿着SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿着SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • Python 中文轉URL編碼

    本文將從以下幾個方面詳細闡述Python中實現中文轉URL編碼的方法及注意事項。 一、URL編碼概述 URL編碼也稱為百分號編碼,是一種將URL中的非ASCII字符轉換成「%」後加…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27

發表回復

登錄後才能評論