Вход Регистрация
Файл: wapxl.ru/top/bd_operator.php
Строк: 22
<?php

require'../shaxty.php';


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

//открываем сеанс curl
$ch curl_init('http://www.logofon.ru/xml/ips.xml');
curl_setopt($chCURLOPT_USERAGENT'snippets ip bot :)');
curl_setopt($chCURLOPT_RETURNTRANSFER1);

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

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

//функция обратного вызова, ищет Last-Modified
function curlHeaderCallback($ch$header) {
    
//чекаем Last-Modified
    
$s explode(': '$header2);
    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 файл
//для примера выведу всех опсосов в табличках
//в качестве парсера юзаем правильные функции, а не регулярки!!!

//echo $GLOBALS['last_mod'].'<br />';

$xml simplexml_load_string($xml_data);

foreach (
$xml->operator as $opsos) :
    
//выводим диаппазоны
    
foreach ($opsos->range as $range) :


$dbi core::$db -> prepare("INSERT INTO `operator` SET `idop`=?, `operator`=?, `country`=?, `count`=?, `ip1`=?, `ip2`=?");
$dbi -> execute($opsos['id'],$opsos['name'],$opsos['country'],$opsos['tld'],long2ip($range['ip1']),long2ip($range['ip2']));


     endforeach;
    endforeach;




?>
Онлайн: 1
Реклама