PHP返回gethostbyname($lookup)值

PHP返回gethostbyname($lookup)值,php,Php,我正在使用下面的代码(简化版)来确定我的IP是否在黑名单上。我需要修改它,以便能够确定IP是否在白名单上。该函数需要我查看返回的特定代码 127.0.0.1 127.0.0.2 127.0.0.3 127.0.0.4 127.0.0.5 当脚本运行时,如何调整该值以返回(代码)输出值 $host = '222.22.222.222'; $rbl = 'hostkarma.junkemailfilter.com'; $rev = array_reverse(explode('.', $

我正在使用下面的代码(简化版)来确定我的IP是否在黑名单上。我需要修改它,以便能够确定IP是否在白名单上。该函数需要我查看返回的特定代码

127.0.0.1 
127.0.0.2 
127.0.0.3 
127.0.0.4 
127.0.0.5
当脚本运行时,如何调整该值以返回(代码)输出值

$host = '222.22.222.222';
$rbl  = 'hostkarma.junkemailfilter.com';
$rev = array_reverse(explode('.', $host));
$lookup = implode('.', $rev) . '.' . $rbl;
if ($lookup != gethostbyname($lookup)) {

   echo "ip: $host is listed in $rbl\n";
} else {
   echo "ip: $host NOT listed in $rbl\n";
}

编辑:对不起,伙计们,如果IP地址在$rlb中输入的黑名单上,上面脚本的功能将返回确认。但是,Hostkarma返回一个代码,上面显示的127.0代码之一,因为每个代码表示不同的块状态。我需要得到密码。“echo$lookup;”只返回反向查找,如下所示:222.222.22.222.hostkarma.junkemailfilter.com

你是说这个吗

echo $lookup;

127.x.x.x
代码应该作为
gethostbyname

@Michael返回的值提供给您——OP的意思是,在哪里???@Neal:这也是我对问题的最佳解释对不起,伙计们,如果IP地址在$rlb中输入的黑名单上,上面脚本的函数将返回确认。但是,Hostkarma返回一个代码,上面显示的127.0代码之一,因为每个代码表示不同的块状态。我需要得到密码。“echo$lookup;”只返回反向查找,如下所示:222.222.22.222.hostkarma.junkemailfilter.com没问题JT。我以为这不是您需要的,但我想我会试试:)在做一些测试时,该服务似乎不接受IP地址,只接受主机名。如果我使用一个主机名,例如
ghs.l.google.com.hostkarma.junkemailfilter.com
(谷歌应用程序的邮件服务器),对我来说效果很好。你能试着澄清一下你想要的预期输出是什么吗?我敢打赌你的意思是Michael的答案,但我怀疑这是你真正需要的(因为它太简单了)。如果返回的字符串相同,则意味着查找失败(请参阅手册)。
$lookup = implode('.', $rev) . '.' . $rbl;
$value = gethostbyname($lookup);
if ($lookup != $value){
   echo "ip: $host is listed in $rbl\n";
   echo "return value: $value\n";
}
else{
   echo "ip: $host NOT listed in $rbl\n";
}