php提供以下函数来获取服务器变量:$_server[‘document_root’]:脚本所在文档根目录的路径$_server[‘remote_addr’]:客户端 IP 地址$_server[‘HTTP_user_agent’]:客户端用户代理$_server[‘http_referer’]:用户从哪个页面被重定向而来$_server[‘request_method’]:用于请求的 http 方法(get、post、put 等)
服务器变量包含有关 Web 服务器和正在执行脚本的环境的信息。PHP 提供了多个函数来获取这些变量。
最常用的服务器变量函数:
- $_SERVER[‘DOCUMENT_ROOT’]:脚本所在文档根目录的路径
- $_SERVER[‘REMOTE_ADDR’]:客户端 IP 地址
- $_SERVER[‘HTTP_user_AGENT’]:客户端用户代理
- $_SERVER[‘HTTP_REFERER’]:用户从哪个页面被重定向而来
- $_SERVER[‘REQUEST_METHOD’]:用于请求的 HTTP 方法(GET、POST、PUT 等)
获取サーバー变量的代码示例:
1
2
3
4
5
6
7
8
9
|
<?php
echo "文档根目录:" . $_SERVER [ 'DOCUMENT_ROOT' ] . "<br>" ;
echo "客户端 IP 地址:" . $_SERVER [ 'REMOTE_ADDR' ] . "<br>" ;
echo "用户代理:" . $_SERVER [ 'HTTP_USER_AGENT' ] . "<br>" ;
echo "HTTP referer:" . $_SERVER [ 'HTTP_REFERER' ] . "<br>" ;
echo "HTTP 请求方法:" . $_SERVER [ 'REQUEST_METHOD' ];
?>
|
实战案例
1. 检测客户端 IP 地址:
1
2
3
4
5
6
7
8
9
10
11
|
<?php
$ip = $_SERVER [ 'REMOTE_ADDR' ];
if ( $ip == "127.0.0.1" ) {
echo "客户端 IP 地址为 127.0.0.1" ;
} else {
echo "客户端 IP 地址非 127.0.0.1" ;
}
?>
|
2. 根据用户代理检测移动设备:
1
2
3
4
5
6
7
8
9
10
11
|
<?php
$userAgent = $_SERVER [ 'HTTP_USER_AGENT' ];
if (preg_match( '/(Android|bb\d+|meego).+|mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|PSp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/' , $userAgent )) {
echo "该用户使用移动设备" ;
} else {
echo "该用户未使用移动设备" ;
}
?>
|