![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 9.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Plik XML o strukturze zamieszczonej ponizej probuje potraktowac kodem php i wrzucic dane do mysql'a w miedzyczasie zmieniajac kodowanie. Niestety dziala tylko przy malych plikach. Przy wiekszym 4,5 megaowym pliku przekracza dozowlona liczbe pamieci...
cos w stylu: Fatal error: Allowed memory size of 33554432 Czy da sie przerobic moj skrypt php zeby nie byl daki pamieciozerny ? z gory dziekuje za pomoc ! Plik XML o strukturze: Kod <?xml version="1.0" encoding="Windows-1250"?> <colors> <row id_Model="1" id_Color="1" Color="Biały Banquise" Rgb="FDFDFD" /> <row id_Model="1" id_Color="6" Color="Czarny Onyx" Rgb="000000" /> <row id_Model="1" id_Color="259" Color="Czerwony Ardent" Rgb="711F2B" /> <row id_Model="1" id_Color="2689" Color="Szary Aluminium (metalizowany)" Rgb="ADAAAD" /> <row id_Model="1" id_Color="2240" Color="Szary Fer (metalizowany)" Rgb="7B868C" /> ... </colors> Probuje potraktowac kodem w miedzyczasie zmieniajac jego kodowanie: Kod function puttomysql($a)
{ connect(); $xml = simplexml_load_file('foto/'.$a.'.xml'); //petla odczytujaca po kolei elementy xml'a foreach($xml -> row as $element) { // petla zczytujaca atrybuty z kazdego row foreach($element -> attributes() as $nazwa=>$wartosc){ $wartosc=iconv('utf-8','iso-8859-2',$wartosc); $tablica["$nazwa"] = "$wartosc"; } //petla wrzucajaca atrybuty wraz z nazwami do tablicy while( list($klucz, $wartosc) = each($tablica) ) { $pole=$pole.", `".$klucz."`"; $wartpola=$wartpola.', \''.$wartosc.'\''; } //tworzenie polecen do mysql $pole=strchr($pole, " "); $wartpola=strchr($wartpola, " "); $polecenie="insert into `$a`($pole) values ($wartpola)"; $wynik=mysql_query($polecenie); //zwolnienie zmiennych i tablicy unset($pole, $wartpola, $tablica); } |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 1 Dołączył: 9.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
serwer jest niby ustawiony na 256 megsow ;/
nie ma innego sposobu na wyciagniecie danych z tego typu xmla zeby nie mulilo pamieci ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.09.2025 - 21:29 |