在PHP中获取ip地址的方法有哪些

  介绍

这篇文章给大家介绍在PHP中获取ip地址的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

& lt; ? php ,//方法1:   _SERVER ip 美元;=,(“REMOTE_ADDR");   echo  $ ip;//方法2:   ip 美元;=,($ _SERVER [“HTTP_VIA"]), ?, $ _SERVER [“HTTP_X_FORWARDED_FOR"],:, $ _SERVER (“REMOTE_ADDR");   ip 美元;=,(ip)美元,?,ip 美元;:,$ _SERVER (“REMOTE_ADDR");   echo  $ ip;//方法3:   function  getRealIp ()   {   美元才能ip=false;   如果才能(!空($ _SERVER [“HTTP_CLIENT_IP"])) {   ,,,ip 美元;=,$ _SERVER (“HTTP_CLIENT_IP");   ,,}   if 才能;(!空($ _SERVER [& # 39; HTTP_X_FORWARDED_FOR& # 39;])), {   ,,,ips 美元;=,explode  (,,,,,, $ _SERVER [& # 39; HTTP_X_FORWARDED_FOR& # 39;]);   ,,,if  (ip),{,函数(ips美元,,ip);, ip 美元;=,假,,}   ,,,for ($小姐:=,0;,美元小姐:& lt;, count ($ ips);,我+ +美元),{   ,,,,,if  (! eregi (“^ 172.16(10││192.168)干净,,ips美元[$ i])), {   ,,,,,,,ip 美元;=,ips美元($ i);   ,,,,,,,休息;   ,,,,,}   ,,,}   ,,}   return 才能;(ip 美元;?,ip 美元;:,$ _SERVER [& # 39; REMOTE_ADDR& # 39;]);   }   echo  getRealIp ();//方法4:   if  (HTTP_SERVER_VARS美元[“HTTP_X_FORWARDED_FOR"])   {   时间=美元才能ip  HTTP_SERVER_VARS美元(“HTTP_X_FORWARDED_FOR");   }   elseif  (HTTP_SERVER_VARS美元[“HTTP_CLIENT_IP"])   {   时间=美元才能ip  HTTP_SERVER_VARS美元(“HTTP_CLIENT_IP");   }   elseif  (HTTP_SERVER_VARS美元[“REMOTE_ADDR"])   {   时间=美元才能ip  HTTP_SERVER_VARS美元(“REMOTE_ADDR");   }   elseif  (getenv (“HTTP_X_FORWARDED_FOR"))   {   时间=美元才能ip  getenv (“HTTP_X_FORWARDED_FOR");   }   elseif  (getenv (“HTTP_CLIENT_IP"))   {   时间=美元才能ip  getenv (“HTTP_CLIENT_IP");   }   elseif  (getenv (“REMOTE_ADDR"))   {   时间=美元才能ip  getenv (“REMOTE_ADDR");   }   其他的   {   时间=美元才能ip “Unknown";   }   echo  ip 美元;;//方法5:   如果采用(& # 39;HTTP_CLIENT_IP& # 39;)), {   时间=美元才能onlineip  getenv (& # 39; HTTP_CLIENT_IP& # 39;);   采用},elseif & # 39; HTTP_X_FORWARDED_FOR& # 39;)), {   时间=美元才能onlineip  getenv (& # 39; HTTP_X_FORWARDED_FOR& # 39;);   采用},elseif & # 39; REMOTE_ADDR& # 39;)), {   时间=美元才能onlineip  getenv (& # 39; REMOTE_ADDR& # 39;);   },{else    时间=美元才能onlineip 美元HTTP_SERVER_VARS [& # 39; REMOTE_ADDR& # 39;];   }   echo  onlineip美元;

实例:在用户登录时获取用户IP,插入到数据库登录日志表里

//增加用户登录日志   ip 美元;=,($ _SERVER [“HTTP_VIA"]), ?, $ _SERVER [“HTTP_X_FORWARDED_FOR"],:, $ _SERVER (“REMOTE_ADDR");   ip 美元;=,(ip)美元,?,ip 美元;:,$ _SERVER (“REMOTE_ADDR");   $ this→usermodel→addUserlog (userid,昵称,美元$ ip);   function  addUserlog (userid,昵称,美元$ ip), {   ,,,try  {   ,,,,,你美元=,日期(“Y-m-d  H-i-s"时间());   ,,,,,data=https://www.yisu.com/zixun/array(美元   “标识”=> userid美元,   “昵称”=> $昵称,   “知识产权”=> $ ip,   “logintime”=>现在美元   );   $ insert_query=$ this -> db -> insert_string (user_log, $ data);   $ this -> db ->查询(insert_query美元);   返回0;   }捕捉(异常$ e) {   返回1;   }   }

日志表结构:

CREATE  TABLE “user_log”, (   ,“id”bigint (20), NOT  NULL  AUTO_INCREMENT,   ,“标识”bigint (20), NOT 空,   ,“昵称”varchar (50), NOT 空,   ,“知识产权”varchar (50), NOT 空,   ,‘logintime datetime  NOT 空,   ,PRIMARY  KEY  (id)   ),引擎=InnoDB  AUTO_INCREMENT=3, DEFAULT  CHARSET=utf8

关于在PHP中获取ip地址的方法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

在PHP中获取ip地址的方法有哪些