Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI...

13 MB XML-File --> PHP-Array

Diskussion: 13 MB XML-File --> PHP-Array im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo! Ich habe ein XML-File mit einer Dateigröße von etwas über 13 MB, dieses XML-File würde ich jetzt gerne ...

Antwort
Alt 20.02.11, 14:22   #1 (permalink)
 
Registriert seit: 11.07.05
RemoteC Leistung: Facit NTK
RemoteC eine Nachricht über ICQ schicken
Likes: 0
erledigt 13 MB XML-File --> PHP-Array

Anzeige

Hallo!

Ich habe ein XML-File mit einer Dateigröße von etwas über 13 MB, dieses XML-File würde ich jetzt gerne mit PHP einlesen damit ich es später grafisch aufbereitet ausgeben kann.

Mein Ansatz wäre gewesen das ganze über SimpleXML zu machen. Mein Problem ist nur dass das mit kleineren Dateien funktioniert bei den 13 MB (obwohl das imho für ein XML-File noch nicht groß ist) kommt aber die Fehlermeldung:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 77 bytes)



Auf einem zweiten Server kommt gar keine Fehlermeldung, da bleibt es einfach weiß.


Habt ihr Ideen wie ich das XML-File "bearbeiten" kann damit daraus eine schöne Ausgabe zB in Baumdarstellung herauskommt?

lg


Geändert von RemoteC (21.02.11 um 13:06 Uhr)
RemoteC ist offline   Mit Zitat antworten
Alt 20.02.11, 14:26   #2 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
Standard

Setze in der php.ini den Wert für memory_limit einfach höher.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.02.11, 14:30   #3 (permalink)
Member of Honour
 
Benutzerbild von GrafZahl
 
Registriert seit: 28.05.10
GrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: OpteronGrafZahl Leistung: Opteron
Likes: 211
Standard

"einfach" ist gut ... denial of service wir kommen ...
__________________
Code:
:(){ :|:& };:
Veritas Aequitas
GrafZahl ist offline   Mit Zitat antworten
Alt 20.02.11, 15:57   #4 (permalink)
Moderator
 
Benutzerbild von bitmuncher
 
Registriert seit: 30.09.06
bitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcorebitmuncher Quadcore
Likes: 443
Standard

Pff, fast jeder Webserver hat HTTPS aktiviert, was wesentlich anfälliger für DoS ist als ein vergrößerter PHP-Buffer. Davon abgesehen ist die DoS-Anfälligkeit wesentlich eher abhängig von der MaxClients-Einstellung des Webservers.
__________________
Mein Blog - Mein Job - Diaspora

Der Ring uns zu knechten besteht aus 12 Sternen auf blauem Grund.

Neue Beiträge im Habo via Twitter - Das HaBo auf FB - Das HaBo bei G+
bitmuncher ist gerade online   Mit Zitat antworten
Alt 21.02.11, 13:05   #5 (permalink)
Themenstarter
 
Registriert seit: 11.07.05
RemoteC Leistung: Facit NTK
RemoteC eine Nachricht über ICQ schicken
Likes: 0
Standard

Auf dem einen Server habe ich keinen Zugriff auf die php.ini, auf dem anderen (dort wo es weiß geblieben ist) habe ich das memory-limit erhöht gehabt.

Habe jetzt das ganze mit SimpleXML neu programmiert, die vorgefertigten Funktionen aus dem PHP Manuel waren wohl sehr speicherlastig Jetzt geht das extrem schnell ...
RemoteC ist offline   Mit Zitat antworten
Alt 21.02.11, 22:07   #6 (permalink)
 
Benutzerbild von blue182
 
Registriert seit: 21.08.10
blue182 Leistung: Facit NTK
Likes: 10
Standard

http://de.wikipedia.org/wiki/Simple_API_for_XML

Diese API liest die XML Dokumente sequientell. Sie werden nicht - wie bei DOM - erst vollständig in den Speicher geladen.
Bei Dokumenten in deiner Größenordnung, sind SAX Parser das Mittel zum Zweck.
blue182 ist offline   Mit Zitat antworten
Alt 21.02.11, 22:58   #7 (permalink)
 
Registriert seit: 23.03.05
xblax Leistung: 8086
Likes: 22
Standard

Zitat:
Zitat von blue182 Beitrag anzeigen
http://de.wikipedia.org/wiki/Simple_API_for_XML

Diese API liest die XML Dokumente sequientell. Sie werden nicht - wie bei DOM - erst vollständig in den Speicher geladen.
Bei Dokumenten in deiner Größenordnung, sind SAX Parser das Mittel zum Zweck.
Kann ich nur bestätigen!
Für ein Projekt an der Uni arbeiten wir mit OpenStreetMap XML Dateien (mehrere Gigabyte groß). Mit einem SAX Parser geht das wirklich verdammt schnell.

DOM Parser machen eigentlich nur wirklich Sinn wenn man die Daten auch verändern will um sie hinterher wieder zurück in eine XML Datei zu schreiben.
xblax ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Web, Network & Multimedia Palace » (Web-) Design und webbasierte Sprachen » 13 MB XML-File --> PHP-Array
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61