[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: XML DOM
flint
Привет. Я начинающий прогарммист и обработку xml DOM не сталкивался раньше.Задача следующая есть три файла xlm надо из них прочитать данные и запросами отправить в бд.Дело в том, что это все происходит в одном скрипте и при обработке обрабарываются только два файла,а третий нет

PHP
$gz gzopen ($_SERVER["DOCUMENT_ROOT"]."/discount_cards_data*.gz","r"); 
        
$f=fopen($_SERVER["DOCUMENT_ROOT"]."/discount_cards_data*.xml","w");
        while (!
gzeof($gz))
        {
            
fwrite($f,gzread($gz,102400));
        }
        
fclose($f);
        
gzclose($gz);
        
$xmlDoc = new DOMDocument('1.0''windows-1251');
        
$xmlDoc->load($_SERVER["DOCUMENT_ROOT"]."/discount_cards_data*.xml");
        
$res mysql_query($query);
            
$j=0;
            
$error=false;
            
$x $xmlDoc->documentElement;
            
$g $x->childNodes;
            
$values=array();
            foreach(
$g as $item)
            {
                if (
$item->hasAttributes())
                {
                    
$currentElement = array();
                    
$currentElement['number'] = $item->getAttribute("C");
                    
$currentElement['discount'] = $item->getAttribute("P");
                    
$currentElement['fio'] = iconv("UTF-8""cp1251"$item->getAttribute("N"));
                    
$currentElement['number']=250000000000+$currentElement['number'];
                    
$values[] = "'".$currentElement['number']."','".$currentElement['fio']."','".$currentElement['discount']."'";
                    if(
count($values)===1000)
                    {
                        
$query="INSERT INTO `discount_cards_tmp`(`number`,`fio`,`discount`) VALUES(".implode('),(',$values).")";
                        
$res=mysql_query($query);
                        unset(
$values);
                    }
                
$j++;
                }
            }


два файла по 150000 записей (второй не обрабатывается) затем третий в котором около 40000 обрабатывается и добавляется только 190000.
Помогите.......

комментрарий от sergeiss просьба использовать специальные тэги для оформления кодов. Кнопки находятся прямо над полем ввода текста.



Спустя 1 час, 25 минут, 27 секунд (21.07.2009 - 12:37) olgatcpip написал(а):
не ругается ни на что?
на max_execution_time, например.

попробуй его увеличить.
PHP
ini_set("max_execution_time","100000");

или там ноль можно поставить, чтобы неограничивать....

Спустя 1 час, 7 минут, 3 секунды (21.07.2009 - 13:44) Guest написал(а):
нет времени хватает, но я грешу на размеры файлов они два по 6,5 Мб и третий 1,3 Мб
делал четыре3 по 4,4 Мб и один 1,3 МБ все равно обрабатывает теперь 3 а один нет походу до 12 Мб

Спустя 16 часов, 8 минут, 39 секунд (22.07.2009 - 05:53) olgatcpip написал(а):
А несколько раз запустить самого себя с разными фалами, прокатывает?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.