php工具 - 从区域文件中提取域名?

时间:2010-05-06 14:46:33

标签: php dns

我可以访问tld的区域文件。如何以最快的方式提取域名?

有关如何将它们存储在数据库/文件中的任何建议?它们有数百万。

1 个答案:

答案 0 :(得分:1)

请注意,我只是在这里扯掉代码。这将是一般的想法,但代码可能需要编辑。事实上,它几乎可以肯定。

$fin = fopen('your zone file', 'r');
while (!feof($fin))
{
    $matches = array();
    $line = trim(fgets($fin));
    // only care about lines that are ip addresses or aliases
    if (preg_match('/^(\S+)\s+((?:IN\s+)?)(A|AAAA|CNAME)\s+(\S+)$/i', $line, $matches))
    {
        $subdomain = $matches[1];
        $ip_or_alias = $matches[4];
        do_something($subdomain, $ip_or_alias);
    }
}
fclose($fin);

你定义了一个函数do_something,可以获取信息并将其存储在某个地方。或者,将代码放在函数调用所在的位置。

至于如何存储它,这在很大程度上取决于你将如何处理它。