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

php工具-从区域文件中提取域名?,php,dns,Php,Dns,我有权访问tld的区域文件。如何以最快的方式提取域名 关于如何将它们存储在数据库/文件中,有什么建议吗?它们有数百万个。注意,我只是在这里胡乱编代码。这是一般的想法,但代码可能需要编辑。事实上,几乎可以肯定 $fin = fopen('your zone file', 'r'); while (!feof($fin)) { $matches = array(); $line = trim(fgets($fin)); // only care about lines tha

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


关于如何将它们存储在数据库/文件中,有什么建议吗?它们有数百万个。

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

$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);
您需要定义一个函数dou_某事来获取信息并将其存储在某处。或者,将代码放在函数调用所在的位置


至于如何存储它,这在很大程度上取决于您将如何使用它。

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

$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);
您需要定义一个函数dou_某事来获取信息并将其存储在某处。或者,将代码放在函数调用所在的位置

至于如何储存,这在很大程度上取决于你将如何使用它