全部文章 web开发 Api文档 时光画轴 全部壁纸 二次元 初音未来 自然 时光 游戏 崩坏学园 英雄联盟 碧蓝航线 全部番剧 电影 国创 番剧 全部视频 动画 影视 音乐
logo
【Api】PHP获取客户端url信息

【Api】PHP获取客户端url信息

Timeless 2018-03-13 28

很多时候我们需要获取域名或主机地址、端口号、http协议等等信息对吧

怎么说呢?我们可以从超级变量$_SERVER中获得一些信息(๑•̀ㅂ•́)و✧

域名或者主机地址:$_SERVER['HTTP_HOST']

网页地址(不带协议、端口号、域名、参数的喔):$_SERVER['PHP_SELF']

获取用户代理:$_SERVER['HTTP_REFERER'],如果想知道怎么获取客户端IP信息,请听下回分解(啊 呸呸呸,什么下回分解,传送门开启:https://www.timelessq.com/blog/46-cn.html

只取路径(不带程序文件名、参数):dirname($url) 

完整的url(这里不加http协议,详细案例在下边):$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']  OR  $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']

包含端口号的完整url:$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]

//测试地址
$url = 'http://192.168.1.111:80/time/url.php?moudle=5&id=666'; 
//获取http协议
$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
echo $http_type."<br>";    #http://

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

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

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

//获取用户代理
$HTTP_REFERER = isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'null';
echo $HTTP_REFERER."<br>";    #null

//获取完整的url
echo $http_type.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']."<br>";
echo $http_type.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']."<br>";
#http://192.168.1.111/time/url.php?moudle=5&id=666

//包含端口号的完整url
echo $http_type.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]."<br>";
#http://192.168.1.111:80/time/url.php?moudle=5&id=666

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

 []~( ̄▽ ̄)~* ,大概就介个样子了吧,有用到新的再补充

分享到微信