新しい行で区切られた IP アドレスを保持するファイルを読み込もうとしているときに、このエラーが発生しました。私がやりたいことは、たくさんの IP を保持しているファイルを読み取り、適切な記録があるかどうかを確認することです。これは私のコードです:
$file = "test.sh";
if (is_file($file) && is_readable($file)) {
$get_file_data = file_get_contents($file);
$turn_to_array = explode("\n", $get_file_data);
foreach ($turn_to_array as $key => $value) {
if (filter_var($value, FILTER_VALIDATE_IP)) {
echo gethostbyaddr(trim($value));
} else {
echo "IP invalid";
}
}
}
私のtest.shファイルは次のようになります:
編集:IPの例
180.1.1.1
181.1.1.2
ファイルを解析するためにいくつかの特定のテストを追加する必要がありますか、それとも他の問題がありますか?
使用された非常にユニークな方法によって引き起こされたエラー:
警告: gethostbyaddr(): アドレスは有効な IPv4 または IPv6 PHP ではありません
解決しました。
私のコードは機能していましたが、これらの IP には存在しなかったため、rdns レコードを適切に取得できませんでした。ホスト 185.1.1.1で確認したところ、ドメインではなく実際の IP が返されました。次に、PTR レコードがあると確信している IP を確認すると、IP が目覚めました。しかし、エラーが実際にどのように修正されたかは正確にはわかりません。