我可以访问tld的区域文件。如何以最快的方式提取域名?
有关如何将它们存储在数据库/文件中的任何建议?它们有数百万。
答案 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,可以获取信息并将其存储在某个地方。或者,将代码放在函数调用所在的位置。
至于如何存储它,这在很大程度上取决于你将如何处理它。