<?php

require_once ('connect.php');

mysql_query("TRUNCATE TABLE `".$prefix."ip_name`");

//переменная содержащая время обновления базы 
 $GLOBALS['last_mod']=''; 

 //открываем сеанс curl 
 $ch = curl_init('http://www.logofon.ru/xml/ips.xml'); 
 curl_setopt($ch, CURLOPT_USERAGENT, 'Opera'); 
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

 //функция обратного вызова, которая будет проверять заголовки 
 curl_setopt($ch, CURLOPT_HEADERFUNCTION, 'curlHeaderCallback'); 

 //получение данных 
 $xml_data = curl_exec($ch); 
 //закрываем curl 
 curl_close($ch); 

 //функция обратного вызова, ищет Last-Modified 
 function curlHeaderCallback($ch, $header){ 
 //чекаем Last-Modified 
 $s = explode(': ', $header, 2); 
 if($s[0] == 'Last-Modified'){$GLOBALS['last_mod'] = trim($s[1]);} 

 return strlen($header); 
 } 

 /*Имея $GLOBALS['last_mod'] в таком виде: Mon, 07 Dec 2009 21:43:14 GMT 
 мы можем проверять актуальность нашей базы, чтобы не обновляться лишний раз 

 для справки: чтобы получить timestamp надо сделать так 
 echo strtotime($GLOBALS['last_mod']); 
 */ 
 
 $xml=simplexml_load_string($xml_data); 

foreach($xml->operator as $opsos){ 
$name=$opsos['name'];
$country=$opsos['country'];
$coun=$opsos['tld'];
$id=$opsos['id'];
 
mysql_query("INSERT INTO `".$prefix."ip_name` (`operator`,`country`,`coun`,`id`) VALUES ('$name','$country','$coun','$id')");
}
?>