<?php
//$ipaddress = $_SERVER['REMOTE_ADDR'];
$ipaddress = '10.0.1.4';
$binip = inet_pton($ipaddress);
echo $binip;
?>
它返回空白。如果我使用我面向公众的IP,它会返回正确的结果。它会返回192.168.1.2
的结果(我的旧LinkSys路由器有一个类似于此的IP)。我正在使用本地IP在Linux机器上测试我的应用程序。所有连接到它的机器都使用内部IP 10.0.1.XX
。我的应用程序使用MySQL,如果binip空白,它会给我一个错误。所以我不确定本地ip的解决方法。我在想也许它必须与检测是否在该格式的本地IP,然后编辑ipaddress变量,以便其有效的inet_pton一些如何。有任何想法吗?inet_pton在10.0.1.4这样的本地IP地址上不起作用
您的问题是inet_ntop()的标题所示,还是inet_pton()作为代码示例显示,或两者兼而有之?如果你回应inet_ntop($ binip),你会得到什么? – 2011-04-22 12:09:02
“它返回空白”好'回声'回声;它不会“返回”任何东西。什么是“空白”?做'var_dump($ binip)'并找出变量真正包含的内容:一个空字符串? 'FALSE'? 'NULL'?我也不确定你期望看到什么,因为'inet_pton' [不会给你一个可读的字符串](http://php.net/manual/en/function.inet-pton.php) 。也许你的意思是'ip2long'? – 2011-04-22 12:20:34