⑴ UINavigationControllerphp獲取當前網址url並替換參數或網址的方法
獲取當前頁面的網址在PHP中可以使用如下函數
php
function GetCurUrl(){
if(!empty($_SERVER["REQUEST_URI"])) {
$scriptName = $_SERVER["REQUEST_URI"];
$nowurl = $scriptName;
} else {
$scriptName = $_SERVER["PHP_SELF"];
if(empty($_SERVER["QUERY_STRING"])) {
$nowurl = $scriptName;
} else {
$nowurl = $scriptName . "?" . $_SERVER["QUERY_STRING"];
}
}
return $nowurl;
}
在替換網址中query部分的某變數的值,可以使用如下函數
php
function url_set_value($url, $key, $value){
$a = explode('?', $url);
$url_f = $a[0];
$query = $a[1];
parse_str($query, $arr);
$arr[$key] = $value;
return $url_f . '?' . http_build_query($arr);
}
對於替換網址的函數,可以這樣實現:
php
class url{
static function replace($url, $options){
$options = self::optInit($options);
$Query = parse_url($url, PHP_URL_QUERY);
if($Query){
parse_str($Query, $GET);
if ($GET){
foreach ($GET as $_k => $_v) {
if(array_key_exists($_k, $options)){
$GET[$_k] = $options[$_k];
}
}
$GET = array_merge($GET, $options);
}
return str_replace($Query, http_build_query($GET), $url);
} elseif (!$Query && $options) {
return $url . "?" . http_build_query($options);
}
return $url;
}
static private function optInit($options){
if(is_string($options)){
$optlists = Power::Normalize($options);
foreach($optlists as $val){
list($tmpKey, $tmpVal) = Power::Normalize($val, "=");
$opts[$tmpKey] = $tmpVal;
}
} else {
$opts = $options;
}
return $opts;
}
}
在PHP中可以使用$_SERVER這個數組來獲取伺服器變數,例如:
php
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
echo $url_this;
上面的代碼將顯示當前頁面的URL地址。
此外,還有其他許多伺服器變數,如:
php
$_SERVER['SERVER_NAME'] - 當前運行腳本所在伺服器主機的名稱。
$_SERVER['SERVER_SOFTWARE'] - 伺服器標識的字串。
$_SERVER['SERVER_PROTOCOL'] - 請求頁面時通信協議的名稱和版本。
$_SERVER['REQUEST_METHOD'] - 訪問頁面時的請求方法。
$_SERVER['QUERY_STRING'] - 查詢(query)的字元串。
$_SERVER['DOCUMENT_ROOT'] - 當前運行腳本所在的文檔根目錄。
$_SERVER['HTTP_ACCEPT'] - 當前請求的 Accept: 頭部的內容。
這些變數在PHP中都是自動全局變數,可以被所有腳本訪問。使用這些變數可以幫助我們獲取有關伺服器和請求的信息。
⑵ 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;}?>
(2)php取伺服器url地址擴展閱讀:
獲取域名或主機地址 :echo $_SERVER['HTTP_HOST'].""; #localhost
獲取網頁地址:echo $_SERVER['PHP_SELF'].""; #/blog/testurl.php
3.獲取網址參數:echo $_SERVER["QUERY_STRING"].""; #id=5
4.獲取用戶代理:echo $_SERVER['HTTP_REFERER']."";
⑶ php獲取url參數
1、在當前網頁echo出變數$_SERVER['HTTP_HOST']即可獲取域名或主機地址。