![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 012 Pomógł: 109 Dołączył: 26.09.2003 Skąd: nexis.pl Ostrzeżenie: (0%) ![]() ![]() |
Posiadam cennik w formacie XML o rozmiarze ok. 26 MB (dla zainteresowanych umieszczam go tymczasowo TUTAJ).
Na serwerze pamięc tymczasowa jest ustawiona na 128 MB, więc pobranie tego pliku z zewnętrznego serwera działa bez problemu. Problem pojawia się jednak przy jego odczycie i wykonywaniu operacji na podstawie odczytanych informacji, a ściślej mówiąc w tym kodzie:
Co kończy się błędem:
Kiedy powyższy skrypt uruchamiam dla małej części pliku cennika, to wszystko działa. Więc pytanie mam takie: czy da się jakoś rozbudować powyższy skrypt, aby poradził sobie z takim plikiem czy też jest jakiś inny sposób (np. rozbicie dużego pliku na kilka mniejszych)? -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 116 Pomógł: 119 Dołączył: 10.05.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
braku pamięci nie pokonasz musisz podzielić ten plik na kilka mniejszych, lub wymyślić inny pomysł na import danych (jakby nie patrzeć XML jest dość ciężki)
|
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Najszybszym parserem w PHP jest XMLReader. Zastosuj jego właśnie.
Ale jak napisał ~Cezar708, jest granica wydajności i będziesz musiał albo dzielić plik albo przydzielić skryptowi więcej pamięci. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy ładować po kawałku ten xml.. nie wgrywać na raz i będzie wszystko ok. Testowane przy xml o wielkości 300MB. Przykład jak to zrealizować na php.net/xml
-------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 00:28 |