各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

PHP的$_SERVER的详细介绍(代码示例)

管理员 2023-09-05
PHP
125

PHP的$_SERVER的详细介绍(代码示例)

内容导读

收集整理的这篇技术教程文章主要介绍了PHP的$_SERVER的详细介绍(代码示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3450字,纯文字阅读大概需要5分钟

内容图文

本篇文章给大家带来的内容是关于PHP的$_SERVER的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助

$_SERVER 是PHP预定义的超全局变量。所谓“超全局变量”,即在脚本全部作用域中都可以使用,$_SERVER保存关于报头、路径和脚本位置的信息。工作中经常忘记,在此整理记录下,加深印象。测试是在Windows下进行的,环境为Apache/2.4.23 (Win32)+PHP/5.6.27-nts,访问域名为http://www.example.com/index....,文件目录在E:/WWW/example/。

主要内容详解

  • $_SERVER["SCRIPT_NAME"] => "/index.php",当前脚本路径

  • $_SERVER["REQUEST_URI"] => "/index.php?id=1",访问的页面URI,包含查询字符串

  • $_SERVER["QUERY_STRING"] => "id=1",查询字符串,不存在为" "

  • $_SERVER["REQUEST_METHOD"] => "GET",请求方法,如"POST"、"PUT"等

  • $_SERVER["SERVER_PROTOCOL"] => "HTTP/1.1",通信协议的名称和版本

  • $_SERVER["GATEWAY_INTERFACE"] => "CGI/1.1",服务器使用的CGI 规范的版本

  • $_SERVER["REMOTE_PORT"] => "60599",用户连接服务器使用的端口

  • $_SERVER["SCRIPT_FILENAME"] => "E:/WWW/example/index.php",当前脚本的绝对路径

  • $_SERVER["DOCUMENT_ROOT"] => "E:/WWW/example/",当前脚本文档根目录的绝对路径

  • $_SERVER["REMOTE_ADDR"] => "127.0.0.1",用户的IP地址

  • $_SERVER["SERVER_PORT"] => "80",服务器使用的端口

  • $_SERVER["SERVER_ADDR"] => "127.0.0.1",服务器的IP地址

  • $_SERVER["SERVER_NAME"] => "www.example.com",服务器的主机名,注:如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。在 Apache 2 里,必须设置 UseCanonicalName = On 和 ServerName。 否则该值会由客户端提供,就有可能被伪造。 上下文有安全性要求的环境里,不应该依赖此值。

  • $_SERVER["SERVER_SOFTWARE"] => "Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9",响应头中Server的内容

  • $_SERVER["SERVER_SIGNATURE"] => "",包含了服务器版本和虚拟主机名的字符串

  • $_SERVER["HTTP_HOST"] => "www.example.com",请求头中Host项的内容

  • $_SERVER["HTTP_CONNECTION"] => "keep-alive",请求头中Connection项的内容

  • $_SERVER["HTTP_PRAGMA"] => "no-cache",请求头中Pragma项的内容

  • $_SERVER["HTTP_CACHE_CONTROL"] => "no-cache",请求头中Cache-Control项的内容

  • $_SERVER["HTTP_UPGRADE_INSECURE_REQUESTS"] => "1",请求头中Upgrade-Insecure-Requests项的内容

  • $_SERVER["HTTP_USER_AGENT"] => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",请求头中User-Agent项的内容

  • $_SERVER["HTTP_ACCEPT"] => "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8",请求头中Accept项的内容

  • $_SERVER["HTTP_ACCEPT_ENCODING"] => "gzip, deflate",请求头中Accept-Encoding项的内容

  • $_SERVER["HTTP_ACCEPT_LANGUAGE"] => "zh-CN,zh;q=0.8",请求头中Accept-Language项的内容

  • $_SERVER["PHP_SELF"] => "/index.php",当前执行脚本的文件名

  • $_SERVER["REQUEST_TIME_FLOAT"] => 1510112348.8084,请求开始的时间戳,微秒级别精准度

  • $_SERVER["REQUEST_TIME"] => 1510112348,请求开始的时间戳

实例

以上是测试中的 $_SERVER 的主要内容,根据不同的环境配置,会有些变化。在实际工作中,$_SERVER有很多作用,这里只举两个简单实例,获取当前请求URL以及简单防盗链。

<?php// $_SERVER['HTTPS']当前是否为HTTPS协议if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {    $url = 'https://';} else {    $url = 'http://';}if ($_SERVER['SERVER_PORT'] == 80) {    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];} else {    $url .= $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].$_SERVER['SERVER_PORT'];}
<?php// $_SERVER['HTTP_REFERER'],前一页面的urlif (!empty($_SERVER['HTTP_REFERER'])) {    if (!strpos($_SERVER['HTTP_REFERER'], 'www.example.com')) {        header('Location: http://www.example.com');    }}

以上就是PHP的$_SERVER的详细介绍(代码示例)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的PHP的$_SERVER的详细介绍(代码示例)全部内容,希望文章能够帮你解决PHP的$_SERVER的详细介绍(代码示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部