Файл: imstat.ru/system/parser-name.php
Строк: 24
<?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')");
}
?>