⑴ 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']即可获取域名或主机地址。