成长带走的不只是时光,还带走了那些不害怕失去的勇气。谢谢那些怀疑我的人,给我成长的洗礼,让我更加孤独。
上午在做一个需求时,需要利用 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 ?>
本文php获取当前页完整url地址的方法好代码教程到此结束。在比夜更深的地方,必须有比夜更黑的眼睛。小编再次感谢大家对我们的支持!