Вход Регистрация
Файл: __system/parser/ip_country.php
Строк: 25
<?php

include '../../__core/PDO_connect.inc'; # подключение к PDO

$site_h = $db->exec("TRUNCATE TABLE `ip_country`");

//переменная содержащая время обновления базы
 
$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'];

$site_h = $db->exec("INSERT INTO `ip_country` (`operator`,`country`,`coun`,`id`) VALUES ('$name','$country','$coun','$id')");
}
?>
Онлайн: 2
Реклама