使用PHP的gethostbyname()检索IP地址

时间:2011-08-28 21:03:54

标签: php

使用下面的代码,我已经能够打开一个包含多个域名的.csv文件,然后将其放入PHP数组并循环遍历。在循环中,我调用一个函数,返回每个域的IP地址(gethostbyname())。

然而,当我执行此操作时,我只是将域名回复给我。当我在单个域上使用此功能(即不在循环中)时,我会根据需要获得IP地址。

这里出了什么问题?是否有某种内置限制或我是否构建错误的数组?

<?php

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

foreach($urls as $url){

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

?>

1 个答案:

答案 0 :(得分: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()
}
相关问题