介绍
这篇文章给大家介绍在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地址的方法有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。