2011-08-28 158 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() 
}