上午在做一個(gè)需求時(shí),需要利用 php 在后端獲取頁(yè)面的完整地址,以前不少做這樣的需求所以記錄了一些常用到的函數(shù),就發(fā)表一下。有需要的拿去吧!
php獲取當(dāng)前頁(yè)面完整的url地址的方法
示例1
<?php
function getpageurl() {
$pageURL = 'http';
if(isset($_SERVER['HTTPS']) && $_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;
}
?>
調(diào)用方法:
<?php
echo getpageurl();
?>
注意:
1、$_SERVER['HTTPS'] 變量在 HTTPS 鏈接的情況下, 一些個(gè)別的服務(wù)器環(huán)境中會(huì)返回 null,要特別注意一下 (以后會(huì)單獨(dú)的出一篇博文講一下)
2、上面的函數(shù)會(huì)返回完整的url地址,包括提交的參數(shù)。
示例2:
<?php
function get_url() {
$sys_protocal = isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://';
$php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$path_info = isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '';
$relate_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $php_self.(isset($_SERVER['QUERY_STRING']) ? '?'.$_SERVER['QUERY_STRING'] : $path_info);
return $sys_protocal.(isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '').$relate_url;
}
?>
php 獲取當(dāng)前頁(yè)面的url地址不包括參數(shù)的方法教程
上面給出兩個(gè)關(guān)于php獲取頁(yè)面完整url地址的函數(shù),會(huì)將url中提交的參數(shù)也一并獲取到,如果我們只單單的獲取一個(gè)地址而不需要參數(shù)的話,可以參考下面的示例!文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-504190.html
示例代碼:
<?php
function getpageurl_t() {
$pageURL = 'http';
if(isset($_SERVER['HTTPS']) && $_SERVER["HTTPS"] == "on"){
$pageURL .= "s";
}
$pageURL .= "://";
$this_page = $_SERVER["REQUEST_URI"];
//過(guò)濾要提交的參數(shù)
if(strpos($this_page, "?") !== false){
$this_pages = explode("?", $this_page);
$this_page = reset($this_pages);
}
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $this_page;
}else{
$pageURL .= $_SERVER["SERVER_NAME"] . $this_page;
}
return $pageURL;
}
?>
函數(shù)調(diào)用:
<?php
echo getpageurl_t() ;
?>
php中其它關(guān)于獲取url地址的操作方法
你可以參考下面 php 中關(guān)于對(duì)url地址的一些操作方法來(lái)實(shí)現(xiàn)自己的需求!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-504190.html
<?php
//測(cè)試網(wǎng)址: http://localhost/blog/ss.php?id=10
//獲取域名或主機(jī)地址
echo $_SERVER['HTTP_HOST']."<br>"; // localhost
//獲取網(wǎng)頁(yè)地址
echo $_SERVER['PHP_SELF']."<br>"; // blog/ss.php
//獲取網(wǎng)址參數(shù)
echo $_SERVER["QUERY_STRING"]."<br>"; // id=10
//獲取用戶代理
echo $_SERVER['HTTP_REFERER']."<br>";
//獲取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
// http://localhost/blog/ss.php?id=10
//包含端口號(hào)的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
// http://localhost:80/blog/ss.php?id=10
//只取路徑
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
// http://localhost/blog
?>
到了這里,關(guān)于php獲取當(dāng)前頁(yè)完整url地址的方法教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!