PHP $_SERVER变量详解与常用函数
下载需积分: 3 | TXT格式 | 2KB |
更新于2024-09-15
| 36 浏览量 | 举报
"$_SERVER"是PHP中的一个超全局数组,它包含了服务器和环境相关的各种信息。这个数组在处理用户请求、获取服务器配置细节以及进行安全分析时非常有用。以下是一些重要的`$_SERVER`数组键及其含义:
1. `$_SERVER['HTTP_ACCEPT_LANGUAGE']`: 这个键值表示客户端浏览器接受的语言类型,通常用于多语言网站来确定显示哪种语言的页面。
2. `$_SERVER['REMOTE_ADDR']`: 它存储了访问服务器的用户的IP地址,这对于识别用户或限制访问很有帮助。
3. `$_SERVER['REMOTE_HOST']`: 提供了远程主机的名称,基于`REMOTE_ADDR`解析得到。
4. `$_SERVER['REQUEST_URI']`: 这是用户请求的完整URL路径,包括查询字符串(如果有)。
5. `$_SERVER['REMOTE_PORT']`: 客户端连接到服务器所使用的端口号。
6. `$_SERVER['SERVER_NAME']`: 服务器的主机名,通常用于构建回显或确认服务器的标识。
7. `$_SERVER['PHP_SELF']`: 当前执行脚本的文件名,包括路径,有助于构建动态URL。
8. `$_SERVER['argv']` 和 `$_SERVER['argc']`: 如果脚本通过命令行方式运行,这两个变量分别包含命令行参数的数组和参数数量。
9. `$_SERVER['GATEWAY_INTERFACE']`: 定义了CGI(通用网关接口)版本,表明服务器如何处理请求。
10. `$_SERVER['SERVER_SOFTWARE']`: 显示服务器使用的软件及其版本,如Apache或Nginx等。
11. `$_SERVER['SERVER_PROTOCOL']`: 服务器与客户端之间通信使用的HTTP协议版本。
12. `$_SERVER['REQUEST_METHOD']`: 客户端发起请求的方法,如GET、POST等。
13. `$_SERVER['QUERY_STRING']`: 请求URL中的查询字符串部分。
14. `$_SERVER['DOCUMENT_ROOT']`: Web服务器的文档根目录,用于定位相对URL。
15. `$_SERVER['HTTP_ACCEPT']`: 表示客户端可以接受的MIME类型。
16. `$_SERVER['HTTP_ACCEPT_CHARSET']`: 客户端支持的字符集。
17. `$_SERVER['HTTP_ACCEPT_ENCODING']`: 客户端支持的数据压缩格式。
18. `$_SERVER['HTTP_CONNECTION']`: 描述了客户端与服务器之间的连接类型,例如是否保持持久连接。
19. `$_SERVER['HTTP_HOST']`: 请求的主机名,如果请求中有指定的话。
20. `$_SERVER['HTTP_REFERER']`: 记录用户是从哪个页面链接过来的,用于追踪来源。
21. `$_SERVER['HTTP_USER_AGENT']`: 包含了用户使用的浏览器类型、版本和操作系统信息。
22. `$_SERVER['HTTPS']`: 如果请求是通过HTTPS安全协议进行的,它的值为'on',否则为空或'off'。
23. `$_SERVER['SCRIPT_FILENAME']`: 当前执行PHP脚本的绝对路径。
24. `$_SERVER['SERVER_ADMIN']`: 服务器管理员的电子邮件地址,通常在服务器配置文件中定义。
25. `$_SERVER['SERVER_PORT']`: 服务器监听的端口。
26. `$_SERVER['SERVER_SIGNATURE']`: 可自定义的服务器响应尾部。
27. `$_SERVER['PATH_TRANSLATED']`: 与`SCRIPT_FILENAME`类似,但考虑了文档根目录之外的符号链接。
28. `$_SERVER['SCRIPT_NAME']`: 仅包含当前执行脚本的路径,不包括查询字符串。
这些`$_SERVER`数组的键值对于开发者来说是宝贵的资源,它们提供了与请求交互的上下文信息,帮助构建动态内容、实现安全检查以及优化用户体验。了解并熟练运用这些变量,是成为优秀PHP开发者的必备技能之一。
相关推荐






128 浏览量

209 浏览量

265 浏览量

<?php header("Content-Type: text/html; charset=UTF-8"); $expires = 60 * 20; //session 超时时间 function check_user_agent() //构造函数检查 User-Agent 的一致性 { if (isset($_SESSION['HTTP_USER_AGENT'])) { if ($_SESSION['HTTP_USER_AGENT'] != md5($_SERVER['HTTP_USER_AGENT'])) //user-agent 不一致 { exit('客户端信息异常'); } } else { $_SESSION['HTTP_USER_AGENT'] = md5($_SERVER['HTTP_USER_AGENT']); } } function start_session($expire = 0) { session_start(); if ($expire != 0 && isset($_SESSION['last_visit'])) { $time_last = time() - $_SESSION['last_visit']; if (isset($_SESSION['expiretime'])) //如果超时 { session_unset(); session_destroy(); exit("请重新登录"); } } $_SESSION['last_visit'] = time(); //检查 user-agent 一致性 session_regenerate_id(true); //重置 SessionID } ?>
134 浏览量

mai280838224
- 粉丝: 0
最新资源
- dubbo-admin-2.5.8完美整合JDK1.8无错运行指南
- JSP+SSH框架小区物业管理系统设计与实现
- 桌面宠物与桌面锁功能的VC源码教程
- Java字符过滤机制:BadInputFilter实践解析
- RegAnalyzer:数字逻辑开发中用于bit级寄存器分析工具
- 交互式数据探索:掌握ipython, vim, slimeux提高计算效率
- Matlab中使用CNN处理MNIST数据集
- 新版免疫墙技术突破,系统安全防护升级
- 深入探索Qt库中的对象关系映射技术
- QT递归算法在Windows下绘制二叉树
- 王兆安主编《电力电子技术》第五版课件介绍
- Rails Footnotes:提升Rails应用调试效率的信息展示工具
- 仿通讯录地址选择控件的设计与实现
- LED时间字体设计与电子手表字体对比
- Diglin_Chat: 快速集成Zopim聊天服务到Magento平台
- 如何通过QQ远程控制关闭计算机