小码哥的IT人生

首页 > PHP > php应用

PHP中获取当前页面的URL信息相关方法整理($_SERVER、__FILE__等)

php应用 2022-07-07 10:27:58小码哥的IT人生shichen
<?php
//获取当前的域名:  
echo $_SERVER['SERVER_NAME'];  
//获取来源网址,即点击来到本页的上页网址  
echo $_SERVER["HTTP_REFERER"];  
$_SERVER['REQUEST_URI'];//获取当前域名的后缀  
$_SERVER['HTTP_HOST'];//获取当前域名  
dirname(__FILE__);//获取当前文件的物理路径  
dirname(__FILE__)."/../";//获取当前文件的上一级物理路径  
?>  

比如:
#测试网址:     http://localhost/blog/testurl.php?id=5

//获取域名或主机地址 
echo $_SERVER['HTTP_HOST']."<br>"; #localhost

//获取网页地址 
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php

//获取网址参数 
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5

//获取用户代理 
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/testurl.php?id=5

//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
#http://localhost:80/blog/testurl.php?id=5

//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; 
echo dirname($url);
#http://localhost/blog

附:获取当前URL是http还是https的方法:

//获取URL中是http还是https:
function headerurl(){
    $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
    return  $http_type . $_SERVER['HTTP_HOST'];
}
echo headerurl();
很基础的东西,整理一下,方便日后查看~

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024