本文目錄一覽:
- 1、如何通過php獲取提交頁面的URL?
- 2、php中怎麼獲取訪問當前頁面電腦的IP地址
- 3、怎麼取PHP跳轉前頁的地址
- 4、php如何獲取調用頁面的來源地址
- 5、PHP獲取網頁地址的問題
- 6、PHP怎麼取當前頁完全地址
如何通過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
functionget_data($str){
$data=array();
$parameter=explode(”,end(explode(‘?’,$str)));
foreach($parameteras$val){
$tmp=explode(‘=’,$val);
$data[$tmp[0]]=$tmp[1];
}
return$data;
}
?
php中怎麼獲取訪問當前頁面電腦的IP地址
本文所述php實例可以完成獲取局域網所有用戶的電腦IP和主機名、及mac地址的功能,對於php程序設計人員有一定的參考借鑒價值。完整代碼如下:
?php
$bIp = gethostbyname($_ENV[‘COMPUTERNAME’]); //獲取本機的局域網IP
echo “本機IP:”,$bIp,”\n”;
echo “本機主機名:”,gethostbyaddr($bIp),”\n\n\n”; //gethostbyaddr 函數可以根據局域網IP獲取主機名
//默認網關IP
list($ipd1,$ipd2,$ipd3) = explode(‘.’,$bIp);
$mask = $ipd1 . “.” . $ipd2 . “.” . $ipd3 ;
exec(‘arp -a’,$aIp); //獲取局域網中的其他IP
foreach( $aIp as $ipv) {
if(strpos($ipv,’接口’) !== false) {//一下顯示的IP是否是當前局域網中的 而不是其他的類型 可以在cmd下試一下命令
$bool = false;
preg_match(‘/(?:(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(?:25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))/’,$ipv,$arr);
if(strcmp($arr[0],$bIp) == 0) {
$bool = true;
}
} else {
if($bool) {
$str = preg_replace(‘/\s+/’, ‘|’, $ipv);
$sArr = explode(‘|’,$str);
if($sArr[1] == ‘Internet’ || empty($sArr[1])) {
continue;
}
//去除默認網關
if(strcmp($mask . “.1”, $sArr[1]) == 0) {
continue;
}
//去除同網關下255的IP
if(strcmp($mask . “.255”, $sArr[1]) == 0) {
continue;
}
//去除組播IP
list($cIp) = explode(‘.’, $sArr[1]);
if($cIp = 224 $cIp = 239) {
continue;
}
echo “IP地址:|”,$sArr[1],”|\n”;
echo “MAC地址:”,$sArr[2],”\n”;
echo “主機名:”,gethostbyaddr($sArr[1]),”\n”;
echo “\n\n”;
}
}
}
怎麼取PHP跳轉前頁的地址
1.常規方法:可以通過 $_SERVER[‘HTTP_REFERER’] 獲取,不過http 請求頭中可能不帶referer這個屬性(具體取決於瀏覽器對HTTP協議的執行規範上)。如果請求頭中不帶referer屬性,那麼在$_SERVER全局數組中就獲取不到HTTP_REFERER。所以說這個方法不靠譜!!!
2.靠譜方法:在服務端記錄每次請求的URL($_SERVER[“HTTP_HOST”].$_SERVER[“PHP_SELF”].”?”.$_SERVER[“QUERY_STRING”]),具體存儲位置可以放到session文件(或者數據庫),比如第一次請求的頁面為Page1,這時候就把Page1完整地址(可能有QUERY_STRING)存儲起來,第二次請求新頁面Page2的時候就可以獲取到Page1了,然後更新lastPage的值為Page2,方便下次再獲取上一頁地址。以此類推,就可以實現你想要的的功能了。
php如何獲取調用頁面的來源地址
使用PHP編寫程序的時候,想要獲取當前頁面的URL,可以了用函數來實現;
參考方法如下:
php
// 說明:獲取完整URL
function curPageURL()
{
$pageURL = ‘http’;
if ($_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獲取網頁地址的問題
如果是直接獲取的話用$_SERVER[‘HTTP_HOST’];獲得當前服務器hostname
以圖片調用的話,可通過$_SERVER[‘HTTP_REFERER’]獲得父頁面的URL
然後用正則將host部分提取出來
$url = $_SERVER[‘HTTP_REFERER’];
preg_match(“/http[s]?:\/\/(.*?)([:\/]|$)/”,$url,$host);
$host = $host[1];
PHP怎麼取當前頁完全地址
你說的是php文件的地址 還是 用瀏覽器瀏覽頁面的地址。
php文件的地址可以用__FILE__魔術常量來獲取。
獲取網頁地址:$_SERVER[‘SERVER_NAME’].$_SERVER[‘REQUEST_URI’]
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/154096.html