PHP 如何显示客户端 IP 与服务器 IP

网络整理 - 08-26

  如何用 PHP 来获取客户端 IP 和 服务器(主机)的 IP 呢?

  来看看代码:

  echo "(1)浏览当前页面的用户的 IP 地址为:";

  echo $_SERVER['REMOTE_ADDR'];

  echo "
";

  echo "(2)浏览当前页面的用户的 IP 地址为:";

  echo getenv('REMOTE_ADDR');

  echo "
";

  echo "主机 的 IP 地址为:";

  echo gethostbyname();

  它的输出结果为:

  (1)浏览当前页面的用户的 IP 地址为:127.0.0.1

  (2)浏览当前页面的用户的 IP 地址为:127.0.0.1

  主机 的 IP 地址为:61.135.169.105

  关于获取客户端的 IP 地址,有俩方法:

  第一个是使用:

  $_SERVER['REMOTE_ADDR']

  它正在浏览当前页面用户的 IP 地址,这里的输出结果为 127.0.0.1,因为这是在本地测试,输出的是我本地的环路地址。

  第俩个是使用:

  getenv('REMOTE_ADDR')

  这里使用了函数 getenv : Gets the value of an environment variable(得到各种环境变量的值),返回值:Returns the value of the environment variable varname, or FALSE on an error(失败的话返回 FALSE).

  关于获取服务器端的 IP 地址:

  gethostbyname()

  这里使用了函数 gethostbyname : Get the IP address corresponding to a given Internet host name(通过给定的一个主机名字而得到它的 IP 地址),返回值:Returns the IP address of the Internet host specified by hostname or a string containing the unmodified hostname on failure(失败的话返回原样的输入字符主机名).

  注意这里的最后一句,也就是说,如果失败的话,它会将原样输出,例如:

  echo "无效主机 iwilldown 的 IP 地址为:";

  echo gethostbyname("iwilldown");

  输出:

  无效主机 iwilldown 的 IP 地址为:iwilldown

  当然,这个可不是 IP 地址….~~~~