<?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