生成IP和hostname的对应关系的程序

大家都知道,windows底下的hosts文件负责hostsname和ip的对应,它可以加快网站的访问速度
例如,如果大家访问www.sina.com.cn,如果在hosts里面没有
202.106.184.200    www.sina.com.cn
那么浏览器会先去dns服务器上去找这个对应关系,然后访问网站
所以,为了让我们经常访问的网站能够加快访问速度,可以把这种对应关系放到hosts文件中去
如果手工去做,就要ping一个网站,记录下返回的ip,写到文件里面,
可是利用php的一些函数,这个过程就简单了,源程序如下
<?
/**********************************
*自动生成hosts文件
*author:qdlover
*website:www.qdlover.com
***********************************/
$filename="e:/winnt/system32/drivers/etc/hosts";//这是我的hosts文件的位置,大家可以相应修改
function putthis($value)
{
global 
$filename,$hostname;
$fp=fopen($filename,"a+");
$filestring="\n".$value."    ".$hostname;
fwrite($fp,$filestring);
fclose($fp);
copy($filename,"hosts");
}
if (
$hostname!="")
{
$ipmap=file($filename);
$result=false;
     for (
$i=0;$i<count($ipmap);$i++)
     {
       
$temp=split("    ",$ipmap[$i]);
       if (
$temp[1]==$hostname)
       {echo 
"这个主机和IP的对应已经存在!";
       
$result=true;
       break;
       }
      }
    if (!
$result)
    {
        
$ip=gethostbyname($hostname);
           if (
$ip!=$hostname)//如果查询出来了就进行文件操作
           
{
           
putthis($ip);
           echo (
"生成主机{$hostname}和IP{$ip}对应成功!");
           }
           else
           {echo(
"没找到主机名{$hostname}对应的IP!");}
    }


}
?>
<script>
function init()
{
form1.hostname.focus();
}
</script>
<body onload="javascript:init();">
<form name="form1" method=post>
<input name="hostname">
<input type=submit value="生成">
</form>
</body>