<?php
$domain=file('site.txt');
$counts=count($domain)-1;
for ($i=0;$i<=$counts;$i++)
{
#echo $domain[$i];
echo gethostbyname("$domain[$i]");
}
?>
#echo gethostbyname('www.baidu.com'); 这样打印的是www.baidu.com的ip
在群里的聊天记录中看到以上代码段,刚开始还真不知道这是什么问题,还以为会是网络延迟,当没有获取到ip的时候就显示回原样,猜想,那最后一个一定是正常的,或如果只有一个的时候
果不其然,那即然是这个原因的话,那不是只要加上个sleep就行了呢,好吧,果然再试下。结果确还是和原来一样。悲剧吧
看来不是以上的问题,那问题出在哪呢?
只能从文件读取出来的字符上找问题了。
从文件中读出出来的字符给值到数据的时候上应该存在问题,或许还有其它的字符,那么只要去了前后字符应该就行了,再试
<?php
$domain=file('site.txt');
$counts=count($domain)-1;
for ($i=0;$i<=$counts;$i++)
{
#echo $domain[$i];
echo gethostbyname(trim($domain[$i]));
}
?>
好吧,果断成功了。再想下,其实从文件读出来的字符串,应该只存在最后一个字符上的问题,那么只要把trim()函数,改为rtrim()函数也就行了吧。结果确实也如此