php当前页面完整url,PHP获取当前页面的完整URL

注意:URL使用rewrite规则的时候,$_SERVER[‘PHP_SELF’]和$_SERVER[“REQUEST_URL”]可能不会返回你想要的东西。

$_SERVER[“REQUEST_URI”] 只有 apache 才支持,想要一个获取 $_SERVER[‘REQUEST_URI’] 值的通用解决方案,可以使用以下方案:

// 说明:获取 _SERVER['REQUEST_URI'] 值的通用解决方案

function request_uri() {

if (isset ( $_SERVER ['REQUEST_URI'] )) {

$uri = $_SERVER ['REQUEST_URI'];

} else {

if (isset ( $_SERVER ['argv'] )) {

$uri = $_SERVER ['PHP_SELF'] . '?' . $_SERVER ['argv'] [0];

} else {

$uri = $_SERVER ['PHP_SELF'] . '?' . $_SERVER ['QUERY_STRING'];

}

}

return $uri;

}

?>

关于$_SERVER的相关参数介绍:

/*

* Window - Preferences - Zend Studio- PHP - Code Templates PHP 服务器变量:$_SERVER

* **************************************************************

*/

echo

$_SERVER ['PHP_SELF'] . '
' . // 前正在执行脚本的文件名,与 document root相关。

$_SERVER ['argv'] . '
' . // 递给该脚本的参数。

$_SERVER ['argc'] . '
' . // 含传递给程序的命令行参数的个数(如果运行在命令行模式)。

$_SERVER ['GATEWAY_INTERFACE'] . '
' . // 务器使用的 CGI 规范的版本。例如,“CGI/1.1”。

$_SERVER ['SERVER_NAME'] . '
' . // 前运行脚本所在服务器主机的名称。

$_SERVER ['SERVER_SOFTWARE'] . '
' . // 务器标识的字串,在响应请求时的头部中给出。

$_SERVER ['SERVER_PROTOCOL'] . '
' . // 求页面时通信协议的名称和版本。例如,“HTTP/1.0”。

$_SERVER ['REQUEST_METHOD'] . '
' . // 问页面时的请求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。

$_SERVER ['QUERY_STRING'] . '
' . // 询(query)的字符串。

$_SERVER ['DOCUMENT_ROOT'] . '
' . // 前运行脚本所在的文档根目录。在服务器配置文件中定义。

$_SERVER ['HTTP_ACCEPT'] . '
' . // 前请求的 Accept: 头部的内容。

$_SERVER ['HTTP_ACCEPT_CHARSET'] . '
' . // 前请求的 Accept-Charset:

$_SERVER ['HTTP_ACCEPT_ENCODING'] . '
' . // 前请求的 Accept-Encoding:

$_SERVER ['HTTP_ACCEPT_LANGUAGE'] . '
' . // 前请求的 Accept-Language:

$_SERVER ['HTTP_CONNECTION'] . '
' . // 前请求的 Connection: 头部的内容。例如:“Keep-Alive”。

$_SERVER ['HTTP_HOST'] . '
' . // 前请求的 Host: 头部的内容。

$_SERVER ['HTTP_REFERER'] . '
' . // 接到当前页面的前一页面的 URL 地址。

$_SERVER ['HTTP_USER_AGENT'] . '
' . // 前请求的 User_Agent: 头部的内容。

$_SERVER ['REMOTE_ADDR'] . '
' . // 在浏览当前页面用户的 IP 地址。

$_SERVER ['REMOTE_HOST'] . '
' . // 在浏览当前页面用户的主机名。

$_SERVER ['REMOTE_PORT'] . '
' . // 户连接到服务器时所使用的端口。

$_SERVER ['SCRIPT_FILENAME'] . '
' . // 前执行脚本的绝对路径名。

$_SERVER ['SERVER_ADMIN'] . '
' . // 理员信息

$_SERVER ['SERVER_PORT'] . '
' . // 务器所使用的端口

$_SERVER ['SERVER_SIGNATURE'] . '
' . // 含服务器版本和虚拟主机名的字符串。

$_SERVER ['PATH_TRANSLATED'] . '
' . // 前脚本所在文件系统(不是文档根目录)的基本路径。

$_SERVER ['SCRIPT_NAME'] . '
' . // 含当前脚本的路径。这在页面需要指向自己时非常有用。

$_SERVER ['REQUEST_URI'] . '
' . // 问此页面所需的 URI。例如,“/index.html”。

$_SERVER ['PHP_AUTH_USER'] . '
' . // PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。

$_SERVER ['PHP_AUTH_PW'] . '
' .

// PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。

$_SERVER ['AUTH_TYPE'] . '
'

#当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型。

;

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值