2011-08-28 94 views
0

使用下面的代碼我已經能夠打開.csv文件與幾個域名,然後我把它放在一個PHP數組中,並循環。在循環中,我調用一個返回每個域的IP地址的函數(gethostbyname())。使用PHP的gethostbyname檢索IP地址()

但是,當我執行此操作時,我只需將域名回顯給我。當我在單個域上使用此功能(即不在循環中)時,我會根據需要獲取IP地址。

這裏怎麼回事?是否有某種內置的限制或我構建陣列錯誤?

<?php 

$urls = file('test.csv'); 

foreach($urls as $url){ 

    $ip = gethostbyname($url); 
    echo $ip.'<br/>'; 
} 

?> 
+0

你需要發佈一個什麼樣的CSV文件的例子。 – Ashley

+0

'gethostbyname'在失敗時返回未修改的主機名。你想要查找什麼IP主機? – alexn

回答

1

file()返回文件作爲一個數組的內容,而且還包括在線路末端的斷行字符,因此很有可能你正在試圖做的東西像google.com\n查找。嘗試使用

$urls = file('test.csv', FILE_IGNORE_NEW_LINES); 

foreach($urls as $url) { 
    $ip = gethostbyname(trim($url)); // note the use of trim() 
}