我試圖使用時間和IP地址來爲用戶註冊站點時生成唯一的ID。我使用的數據庫是MySQL
,它帶有自動增量,但它似乎不是一個實用的技術。我遇到的問題是$_SERVER['REMOTE_ADDR']
返回了一個不可讀的地址。我在firebug控制檯中獲取了符號。我嘗試使用inet_ntop
和inet_pton
,都沒有工作。使用PHP獲取IP地址以正確顯示
$ip_address = $_SERVER['REMOTE_ADDR'];
$test = inet_ntop($ip_address);
echo($test);
爲什麼我得到符號而不是可讀文本?
編輯:
我想存儲的是IP和時間的組合。我需要IP以「79.104.97.105」的格式顯示 - 不過黑暗的Absol,但我得到的是如果我使用inet_ntop或inet_pton或:: 1如果我只用$ _SERVER ['REMOTE_ADDR']。
問題的兩個部分:1)我是否獲得了IP地址的IPv6如果返回:: 1,2)如何轉換爲127.0.0.1我認爲這是IPv4的
這是因爲'$ _ SERVER [ 'REMOTE_ADDR' ]'沒有包裝。做'echo $ _SERVER ['REMOTE_ADDR']'你會看到。你看到的輸出是什麼。 – 2014-10-01 13:51:27
嘗試'回聲inet_pton(「79.104.97.105」)' - 這可能會給你一個提示,這是怎麼回事;) – 2014-10-01 13:52:18
它返回:: 1 我明白,這是假設是因爲它的IPv6,但我需要它像IPv4這樣的完整格式。 – user2812097 2014-10-01 13:55:15