PHP获取IP的问题 我本机的IP是192.168.1.11 但是用PHP获取后的IP怎么是127.0.0.1,有没有办法得到真实的IP地址? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是不是以 http://127.0.0.1/wwww/ 访问的?换成是不是以 http://192.168.1.11/wwww/ 试试 你是不是以 http://127.0.0.1/wwww/ 访问的?换成 http://192.168.1.11/wwww/ 试试 $_SERVER['REMOTE_ADDR']就是客户端的真实ip(代理除外) 你的站点在本机,访问的时候用了http://127.0.0.1或localhost或机器名,获取的IP当然就是127.0.0.1如果用http://192.168.1.11或hosts文件中配个域名指向192.168.1.11后用域名访问,$_SERVER['REMOTE_ADDR']得到的就是网卡上的IP了。 .... 这是小问题,给我一个我写的获取真实ip的类吧<?php /** * ip 类 */ class Ip { /** * 构造方法 * * @return void */ public function __construct() { } /** * 获取 IP 地址 * * @return string */ public function getIP() { if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknow')) $ip = getenv('HTTP_CLIENT_IP'); /* $ip IP 地址 */ else if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknow')) $ip = getenv('HTTP_X_FORWARDED_FOR'); else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknow')) $ip = getenv('REMOTE_ADDR'); else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],'unknow')) $ip = $_SERVER['REMOTE_ADDR']; /* * 验证 IP 合法性 */ $validator = new Ip_Validtor(); /* $validator = 验证是否是合法IP */ if ($validator->isValid($ip)) return $ip; else return '未知'; } }?> 如果server在集群环境下的话也得不到 tag标签功能的开发思路? smarty 的正则问题 PHP里如何让iframe框架里的内容3分钟自动刷新一次 !!!不能调用libphp4.so的问题,在线等,急!!!!!!!! 急..在线等,显示问题 group by 问题 怎么一调用函数返回的数组就出错 拿一半的财产求一个问题! 求教:请问如何用PHP将文本文件中的繁体转为简体,(急) 关于ftp_nb_put和ftp_nb_fput的问题 PHP的聊天功能。什么原理(不是聊天室) 定时信息发布求教!!
换成是不是以 http://192.168.1.11/wwww/ 试试
换成 http://192.168.1.11/wwww/ 试试
如果用http://192.168.1.11或hosts文件中配个域名指向192.168.1.11后用域名访问,$_SERVER['REMOTE_ADDR']得到的就是网卡上的IP了。
/**
* ip 类
*/
class Ip {
/**
* 构造方法
*
* @return void
*/
public function __construct() {
}
/**
* 获取 IP 地址
*
* @return string
*/
public function getIP() {
if (getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknow'))
$ip = getenv('HTTP_CLIENT_IP'); /* $ip IP 地址 */
else if (getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknow'))
$ip = getenv('HTTP_X_FORWARDED_FOR');
else if (getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknow'))
$ip = getenv('REMOTE_ADDR');
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'],'unknow'))
$ip = $_SERVER['REMOTE_ADDR']; /*
* 验证 IP 合法性
*/
$validator = new Ip_Validtor();
/* $validator = 验证是否是合法IP */
if ($validator->isValid($ip))
return $ip;
else
return '未知';
}
}
?>