Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]przetworzenie w php pliku 3,5 GB
dentopolis
post 20.09.2016, 10:55:19
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


mam plik xml tworzący csv. obecnie mam do przetworzenia plik o wielkości 3,5gb. oczywiście samo otwarcie tego pliku blokuje komputer.czy istnieje możliwość aby plik php go przetworzył stopniowo żeby nie zawieszać komputera? oczywiście myślę o localhost (xampp).
źródło skryptu:http://dentopolis.org/scr/pubfeed/skrypt.txt

Ten post edytował dentopolis 20.09.2016, 10:58:22
Go to the top of the page
+Quote Post
zegarek84
post 20.09.2016, 11:00:43
Post #2





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


XML Parser
a w google
"SAX PHP"

edit
oczywiście będziesz musiał się przestawić na "programowanie zdarzeniowe" lub podpiąć w jednej funkcji wieeeeleee if'ów...

Ten post edytował zegarek84 20.09.2016, 11:04:09


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
nospor
post 20.09.2016, 11:03:05
Post #3





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
Dołączył: 27.12.2004




Do tak duzych plikow nie mozesz uzywac funkcji ala simplexml_load_file() gdyz one laduja caly plik.
Musisz uzywac narzedzi ktore czytaja plik tag po tagu np.
http://php.net/manual/en/book.xmlreader.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dentopolis
post 20.09.2016, 20:07:07
Post #4





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


no dobrze. wiem że to nie forum regex ale czy ktoś orientuje się jak powinna wyglądać składnia regex która wartości spomiędzy tagów <Title>...</Title> oraz <Author>...</Author> i wypisze w postaci autor - tytuł?
Go to the top of the page
+Quote Post
nospor
post 20.09.2016, 21:20:22
Post #5





Grupa: Moderatorzy
Postów: 36 468
Pomógł: 6300
Dołączył: 27.12.2004




jak to ma sie do problemu z plikiem 3.5 GB?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
kreatiff
post 21.09.2016, 17:02:35
Post #6





Grupa: Zarejestrowani
Postów: 324
Pomógł: 105
Dołączył: 7.08.2012

Ostrzeżenie: (0%)
-----


Wspomnianym xmlreader bez problemu wyciągniesz dane z tych tagów. Bez ładowania całego pliku do pamięci. Po prostu w pętli lecącej po wszystkich węzłach sprawdzasz czy ten bieżący to title albo author i jeśli tak, pobierasz wartość. A gdy nie to przechodzisz do kolejnego. Szybko i efektywnie.

Z wyrażeniami regularnymi musisz dodatkowo rozwiązać jakoś ładowanie pliku do pamięci. Czyli wracasz do punktu wyjścia. xmlreader ten problem rozwiąże "z definicji".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.05.2024 - 08:14