php-getenv
来源:互联网 发布:linux wait源码分析 编辑:程序博客网 时间:2024/06/05 12:41
getenv -- Gets the value of an environment variable, string getenv ( string varname ), Returns the value of the environment variable varname, or FALSE on an error.
1
<?php
2
// Example use of getenv()
3
$ip
=
getenv
(
'REMOTE_ADDR'
);
4
// Or simply use a Superglobal ($_SERVER or $_ENV)
5
$ip
=
$_SERVER
[
'REMOTE_ADDR'
];
6
?>
这是在PHP官方的manual提供的方法。
但是当Web服务器API是ASAPI (IIS)的时候,getenv函数是不起作用的。这种情况下你如果用getenv来取得用户客户端ip的话,得到的将是错误的ip地址。
因此更为安全和准确的方法是尽量避免使用getenv函数。比如可以用以下的函数来获取ip信息:
程序代码
01
<?php
02
function
GetIP(){
03
if
(
getenv
(
"HTTP_CLIENT_IP"
)
04
&&
strcasecmp
(
getenv
(
"HTTP_CLIENT_IP"
),
"unknown"
))
05
$ip
=
getenv
(
"HTTP_CLIENT_IP"
);
06
else
if
(
getenv
(
"HTTP_X_FORWARDED_FOR"
)
07
&&
strcasecmp
(
getenv
(
"HTTP_X_FORWARDED_FOR"
),
"unknown"
))
08
$ip
=
getenv
(
"HTTP_X_FORWARDED_FOR"
);
09
else
if
(
getenv
(
"REMOTE_ADDR"
)
10
&&
strcasecmp
(
getenv
(
"REMOTE_ADDR"
),
"unknown"
))
11
$ip
=
getenv
(
"REMOTE_ADDR"
);
12
else
if
(isset(
$_SERVER
[
'REMOTE_ADDR'
])
13
&&
$_SERVER
[
'REMOTE_ADDR'
]
14
&&
strcasecmp
(
$_SERVER
[
'REMOTE_ADDR'
],
"unknown"
))
15
$ip
=
$_SERVER
[
'REMOTE_ADDR'
];
16
else
17
$ip
=
"unknown"
;
18
return
(
$ip
);
19
}
20
$ip
= GetIP();
21
echo
$ip
;
22
?>
运行结果演示
你的IP为: 127.0.0.1
0 0
- php-getenv
- PHP中getenv()函数
- PHP中getenv函数
- php getenv()函数
- PHP中的$_SERVER 与 getenv
- PHP中 getenv()函数 (环境变量)
- getenv
- getenv
- getenv
- getenv()
- php函数 getenv()与putenv()和$_SERVER
- php函数getenv(“REMOTE_ADDR”)得不到ip[转载]
- PHP中getenv()和$_SERVER的区别
- php中getenv()和$_SERVER的区别
- php中环境变量$_ENV与getenv
- PHP中getenv()和$_SERVER的区别
- getenv用法
- getenv ()函数
- 《万万没想到》第二季结束了
- 三张图教你生成一个Android jar 库。
- eclipse android 程序 转化为android studio
- <三>UITableView使用
- 【Java.JMS】【springframework.jms】
- php-getenv
- sql查询表大小行数以及使用空间
- C++打印程序自身
- 短信拦截木马背后的黑色产业
- 哈夫曼树的构建
- SSH bash紧急安全补丁!重要!
- 求三角形的面积
- 写在学java之前
- longest substring with two unique charachters