if (isset($_SERVER))
{
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$arr = explode(',', $_SERVER["HTTP_X_FORWARDED_FOR"]);
/* 取 X-Forwarded-For 中第一个非 unknown 的有效 IP
字符串
*/
foreach ($arr AS $ip)
{
$ip = trim($ip);
if ($ip != 'unknown')
{
$realip = $ip;
break;
}
}
}
elseif (isset($_SERVER["HTTP_CLIENT_IP"]))
{
$realip = $_SERVER["HTTP_CLIENT_IP"];
}
else
{
$realip = $_SERVER["REMOTE_ADDR"];
}
}
else
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$realip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_CLIENT_IP'))
{
$realip = getenv('HTTP_CLIENT_IP');
}
else
{
$realip = getenv('REMOTE_ADDR');
}
}
return $realip;
}
16、语句 include 和 require 的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2 分)
发生异常时
include 产生警告 require 产生致命错误
只包含一次
include_once,require_once
17、如何修改 SESSION 的生存时间(1 分).
session_set_cookie_params(生存秒数);
session_set_cookie_params();
18、有一个网页地址, 比如 PHP 开发资源网主页: http://www.phpres.com/index.html,如何得到它的内
容
?($1 分)
file_get_contents();
file_get_contents($url)
19、在 HTTP 1.0 中,状态码 401 的含义是(?)
“
”
;如果返回 找不到文件 的提示,则可用
header 函数,其语
句为
(?);(2 分)
401 未授权访问 Unauthorized;header('HTTP/1.1 404 Not Found');
20、在 PHP 中,heredoc 是一种特殊的字符串,它的结束标志必须?(1 分)
必须顶格。