background image

     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 分)
必须顶格。