上午在做一个需求时,需要利用 php 在后端获取页面的完整地址,以前不少做这样的需求所以记录了一些常用到的函数,就发表一下。有需要的拿去吧!
php获取当前页面完整的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;
}
?>
调用方法:
<?php
echo getpageurl();
?>
注意:
1、$_SERVER['HTTPS'] 变量在 HTTPS 链接的情况下, 一些个别的服务器环境中会返回 null,要特别注意一下 (以后会单独的出一篇博文讲一下)
2、上面的函数会返回完整的url地址,包括提交的参数。
示例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 获取当前页面的url地址不包括参数的方法教程
上面给出两个关于php获取页面完整url地址的函数,会将url中提交的参数也一并获取到,如果我们只单单的获取一个地址而不需要参数的话,可以参考下面的示例!
示例代码:
<?php
function getpageurl_t() {
$pageURL = 'http';
if(isset($_SERVER['HTTPS']) && $_SERVER["HTTPS"] == "on"){
$pageURL .= "s";
}
$pageURL .= "://";
$this_page = $_SERVER["REQUEST_URI"];
//过滤要提交的参数
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;
}
?>
函数调用:
<?php
echo getpageurl_t() ;
?>
php中其它关于获取url地址的操作方法
你可以参考下面 php 中关于对url地址的一些操作方法来实现自己的需求!
<?php
//测试网址: http://localhost/blog/ss.php?id=10
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."<br>"; // localhost
//获取网页地址
echo $_SERVER['PHP_SELF']."<br>"; // blog/ss.php
//获取网址参数
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
//包含端口号的完整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
?>
版权归原作者 码云笔记 所有, 如有侵权,请联系我们删除。