2011-12-18 107 views
1

我無法弄清楚爲什麼它不會將客戶端IP地址寫入文件,其他所有工作。PHP不寫客戶端IP到文件

<?php 
$myFile = "ips.txt"; 
$fh = fopen($myFile, 'a') or die("can't open file"); 
fwrite($fh, $_SERVER['REMOTE_HOST']); 
fclose($fh); 
echo $_SERVER['REMOTE_ADDR']; 


?> 

在此先感謝。

+3

'REMOTE_HOST'!='REMOTE_ADDR' – 2011-12-18 22:30:06

+0

REMOTE_HOST包含REMOTE_ADDR中ip的主機名(通過反向dns查找獲得)。 如果您使用的是Apache,則可能需要打開HostnameLookups以獲取主機名。 否則你可能只需要將你的fwrite命令中的REMOTE_HOST改爲REMOTE_ADDR,如果你想要的只是ip。 – 2011-12-18 22:32:17

+0

echo $ _SERVER ['REMOTE_HOST'];作品? – SlavaNov 2011-12-18 22:37:35

回答

1

也許fwrite($fh, $_SERVER['REMOTE_ADDR']);

爲什麼你認爲如果echo $_SERVER['REMOTE_ADDR'];工作, fwrite($fh, $_SERVER['REMOTE_HOST']);應該呢?

先試着echo $_SERVER['REMOTE_HOST'];看看它是否輸出了一些東西。

我的猜測:只是在fwrite中將_HOST更改爲_ADDR,正如我在開始時所說的。