當前位置:首頁 » 編程語言 » phpurl地址

phpurl地址

發布時間: 2023-08-05 14:40:46

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

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

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

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

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

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

⑵ ThinkPHP 網址格式URL地址怎麼設置~呢

thinkPHP的URL在config中配置
一、URL規則
1、默認是區分大小寫的
2、如果我們不想區分大小寫可以改配置文件
'URL_CASE_INSENSITIVE'=>true,//url不區分大小寫
3、如果模塊名為 UserGroupAction,那麼url找模塊就必要要寫成
http://localhost/thinkphp4/index.php/user_group/index
4、如果'URL_CASE_INSENSITIVE'=>false,那麼url也可以寫為
http://localhost/thinkphp4/index.php/UserGroup/index
二、URL偽靜態
'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制偽靜態的後綴
三、URL路由
1、啟動路由
要在配置文件中開啟路由支持
'URL_ROUTER_ON'=>ture//開啟路由
2、使用路由
1.規則表達式配置路由
'URL_ROUTE_RULES'=>array()//路由規則
'my'=>'Index/index',//靜態地址路由
'my'=>'/Index/index',//靜態地址路由,加/直接跳到網站根目錄下。
':id/:num'=>'Index/index',//動態地址路由,可以$_GET接收地址欄參數
'year/:year/:month/:date'=>'Index/index',//動態和靜態混合地址路由
'year/:year\d/:month\d/:date\d'=>'Index/index',//動態和靜態混合地址路由加上 \d代表類型只能是數字
'my/:id$'=>'Index/index',// 加上$說明地址中只能是 my/1000 後面不能有其他內容了
2.正則表達式配置路由,必須以/開始 /結束
'/^year\/(\d{4})\/(\d{2})\/(\d{2})/'=>'Index/index?year=:1&month=:2&date=:3'//這里\d表示必須是數字

⑶ php打開URL的幾種方法

PHP中打開URL地址的幾種方法總結,這里的函數主要用於小偷採集等函數。
1:用file_get_contents
以get方式獲取內容
復制代碼代碼如下:

<?php
$url='http://www..com/';

$html=file_get_contents($url);
//print_r($http_response_header);

ec($html);
printhr();
printarr($http_response_header);

printhr();
?>

示例代碼2:用fopen打開url,
以get方式獲取內容
復制代碼代碼如下:

<?
$fp=fopen($url,'r');

printarr(stream_get_meta_data($fp));
printhr();
while(!feof($fp)){

$result.=fgets($fp,1024);
}
echo"urlbody:$result";

printhr();
fclose($fp);
?>


示例代碼3:用file_get_contents函數,以post方式獲取url
復制代碼代碼如下:

<?php
$data=array('foo'=>
'bar');
$data=http_build_query($data);
$opts=array(
'http'
=>array(
'method'=>'POST',
'header'=>"Content-type:
application/x-www-form-urlencoded".
"Content-Length:".strlen($data).
"",
'content'=>$data
),
);
$context=
stream_context_create($opts);
$html=
file_get_contents('http://localhost/e/admin/test.html',false,$context);

echo$html;
?>


示例代碼4:用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body
復制代碼代碼如下:

<?
functionget_url
($url,$cookie=false){
$url=parse_url($url);
$query=
$url[path]."?".$url[query];
ec("Query:".$query);
$fp=fsockopen(
$url[host],$url[port]?$url[port]:80,$errno,$errstr,30);
if(!$fp){

returnfalse;
}else{
$request="GET$queryHTTP/1.1";

$request.="Host:$url[host]";
$request.="Connection:Close";

if($cookie)$request.="Cookie:$cookie ";
$request.="";

fwrite($fp,$request);
while(!@feof($fp)){
$result.=@fgets($fp,
1024);
}
fclose($fp);
return$result;
}
}

//獲取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){

$rowdata=get_url($url,$cookie);
if($rowdata)
{
$body=
stristr($rowdata,"");
$body=substr($body,4,strlen($body));
return$body;

}
returnfalse;
}

?>

⑷ php判斷url地址正則表達怎麼寫

這個其實很簡單的。就不說教了,直接給代碼吧:
$url=$_SERVER['REQUEST_URI'];

if (preg_match('/^\/\w+\/?$/', $url)) {
// 說明這里匹配的是目錄

} else if (preg_match('/^\/\w+\/\w+\.html$/', $url)) {
// 說明這里是匹配的文件

}

⑸ ThinkPHP 網址格式URL地址怎麼設置

看手冊默認就是一個index.php的路由模式啊,圖片可能看不清

一、普通模式

關閉路由,完全使用默認的PATH_INFO方式URL:

'url_route_on' => false,

路由關閉後,不會解析任何路由規則,採用默認的PATH_INFO模式訪問URL:

http://serverName/index.php/mole/controller/action/param/value/...

⑹ php偽靜態如何獲取地址欄url

程序偽靜態後,搜索引擎又收錄了之前的大量動態地址,如何處理呢?
你可能以為設置301就可以了,但似乎301更搜索引擎更新過來也是需要相當一段時間,而搜索到以前的動態地址,訪問還是有點不好,畢竟還是希望訪問靜態地址,這里就需要在頁面里做一下判斷了。

首先,用了php內置函數,因程序偽靜態了,發現取得的都是真實的url地址,和顯示的url根本是兩樣。
網上找了很久,都沒有找到辦法。問題實再是很棘手。

無意中看到一個asp的例子,其中包含:http_x_rewrite_url,於是用php試了下,沒想到卻可以獲取到地址欄的地址,至此問題解決。

例子,php偽靜態如何獲取地址欄url。

代碼示例:

<?php
if(strstr($_server["http_x_rewrite_url"],".php"){//判斷是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳轉到新的靜態地址。
exit;
}
//只適用於windows的伺服器,liunx則需要用$_server['request_uri']來獲取
if(strstr($_server['request_uri'],".php"){//判斷是否包含.php的地址。
header("http/1.1301movedpermanently");
header("location:http://www..com/$id.html");//跳轉到新的靜態地址。
exit;
//只要輸入以前的動態地址都會以301方式轉到新的靜態地址。
?>

⑺ 如何利用php獲取url反向代理後面的真實地址

下面的代碼用於獲得真實的客戶端ip,俗話說,道高一尺魔高一丈,更高級的偽裝能夠騙過這種檢測也有可能,不過至少讓偽裝的門檻提高不少。

function getip() {

$unknown = 'unknown';

if ( isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown) ) {

$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];

} elseif ( isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown) ) {

$ip = $_SERVER['REMOTE_ADDR'];

}

/*

處理多層代理的情況

或者使用正則方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;

*/

if (false !== strpos($ip, ','))

$ip = reset(explode(',', $ip));

return $ip;

}
需要做下簡單解釋:
一、沒有使用代理伺服器的PHP獲取客戶端IP情況:
REMOTE_ADDR = 客戶端IP
HTTP_X_FORWARDED_FOR = 沒數值或不顯示
二、使用透明代理伺服器的情況:Transparent Proxies
REMOTE_ADDR = 最後一個代理伺服器 IP
HTTP_X_FORWARDED_FOR = 客戶端真實 IP (經過多個代理伺服器時,這個值類似:221.5.252.160, 203.98.182.163, 203.129.72.215)
這類代理伺服器還是將客戶端真實的IP發送給了訪問對象,無法達到隱藏真實身份的目的.
三、使用普通匿名代理伺服器的PHP獲取客戶端IP情況:Anonymous Proxies
REMOTE_ADDR = 最後一個代理伺服器 IP
HTTP_X_FORWARDED_FOR = 代理伺服器 IP (經過多個代理伺服器時,這個值類似:203.98.182.163, 203.98.182.163, 203.129.72.215)
這種情況下隱藏了客戶端的真實IP,但是向訪問對象透露了客戶端是使用代理伺服器訪問它們的.
四、使用欺騙性代理伺服器的情況:Distorting Proxies
REMOTE_ADDR = 代理伺服器 IP
HTTP_X_FORWARDED_FOR = 隨機的 IP(經過多個代理伺服器時,這個值類似:220.4.251.159, 203.98.182.163, 203.129.72.215)
這種情況下同樣透露了客戶端是使用了代理伺服器,但編造了一個虛假的隨機IP(220.4.251.159)代替客戶端的真實IP來欺騙它.
五、使用高匿名代理伺服器的PHP獲取客戶端IP情況:High Anonymity Proxies (Elite proxies)
REMOTE_ADDR = 代理伺服器 IP
HTTP_X_FORWARDED_FOR = 沒數值或不顯示
無論是REMOTE_ADDR還是HTTP_FORWARDED_FOR,這些頭消息未必能夠取得到,因為不同的瀏覽器不同的網路設備可能發送不同的IP頭消息.因此PHP使用$_SERVER["REMOTE_ADDR"] 、$_SERVER["HTTP_X_FORWARDED_FOR"] 獲取的值可能是空值也可能是「unknown」值.

⑻ 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;}?>

(8)phpurl地址擴展閱讀:

  1. 獲取域名或主機地址 :echo $_SERVER['HTTP_HOST'].""; #localhost

  2. 獲取網頁地址:echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php

3.獲取網址參數:echo $_SERVER["QUERY_STRING"].""; #id=5

4.獲取用戶代理:echo $_SERVER['HTTP_REFERER']."";

熱點內容
仿草料源碼 發布:2025-02-07 01:08:31 瀏覽:532
python多線程map 發布:2025-02-07 01:04:37 瀏覽:461
python線程時間 發布:2025-02-07 01:04:26 瀏覽:793
精易編程 發布:2025-02-07 00:49:10 瀏覽:464
訪問桂綸鎂 發布:2025-02-07 00:49:00 瀏覽:938
安卓免費掃描哪個好 發布:2025-02-07 00:47:40 瀏覽:90
金蝶修改伺服器地址 發布:2025-02-07 00:41:08 瀏覽:867
安卓手機版的蒸汽平台在哪裡下載 發布:2025-02-07 00:29:04 瀏覽:454
php自學中心 發布:2025-02-07 00:28:50 瀏覽:270
手機卡在哪裡設置密碼 發布:2025-02-07 00:21:25 瀏覽:707