Veröffentlicht 30. November 200420 j hallo, mein problem ist wie folgt: ich habe in einer textdatei einige zeilen stehen, z.b.: Name: Hansmeier Alter: 123 Hobbys: abc PLS 090909 . und nun möchte ich z.b. an "Hobbys" eine weitere Information mit PHP anhängen. also dass es dann so aussieht Name: Hansmeier Alter: 123 Hobbys: abc , def PLS 090909 . ich hatte mir erst gedacht die datei in einen array zu laden (mit array=file("datei.dat"); ) und danach jede zeile einzeln nach dem wort zu durchsuchen, aber dann ist mir eingefallen, dass ich ja nur die Hobbys von "Hansmeier" und nicht auch von anderen personen erweitern will kann mir da irgenteiner sagen wie ich da vorgehen müsste ?
30. November 200420 j mal so theoretisch ... du könntest mit einem mehrdimensionalen array arbeiten: inhalt[0][name] inhalt[0][alter] inhalt[0][hobby] ... inhalt[1][name] inhalt[1][alter] inhalt[1][hobby] und dann im array nach der position des aktuellen namen suchen und mit der position den gewünschten wert änder und alles wieder in die datei zurück schreiben... mal so theoretisch ... ciao TinTin PS: hier gibts info zu den arrays und hier ein beispiel für eine suche in mehrdimensionalen arrays
30. November 200420 j Ist das Dateiformat so vorgegeben? Wenn nicht würde ich daran kleine Änderungen vornehmen, welche das Lesen vereinfachen. gruss markus
30. November 200420 j Autor nein ist es nicht, hab ich nur so gemacht damit ich es mit einer anderen seiten besser/übersichtlicher wieder ausgeben kann
30. November 200420 j Ich würde dir ja XML empfehlen, aber wenn du es einfach haben willst, würde ich es so umschreiben: <person=Hansmeier> Alter: 123 Hobbys: abc PLS 090909 </person> Ist doch leichter auszulesen!? Mit XML lassen sich die Daten allerdings noch schöner unterteilen, und es gibt auch ne XML API für PHP. Musst du da dann auch andere mehr Daten einpflegen? gruss markus
30. November 200420 j Autor hmm... ich verstehs zwar nicht O_o' aber ich hab mit $fp= fopen("datei.txt","a"); $name=$_POST['name']; $nl = chr(13) . chr(10) fput($fp, "Name: $name $nl"); die daten eingetragen; das war ja das problem beim zeilen suchen, dass er nie beim Namen aus der zeile rausgesprungen ist (also jede variable wird einzeln von php eingetragen )
30. November 200420 j Ich würde dir ja XML empfehlen, aber wenn du es einfach haben willst, würde ich es so umschreiben: <person=Hansmeier> Alter: 123 Hobbys: abc PLS 090909 </person> Ist doch leichter auszulesen!? Mit XML lassen sich die Daten allerdings noch schöner unterteilen, und es gibt auch ne XML API für PHP. Musst du da dann auch andere mehr Daten einpflegen? gruss markus naja das mit dem XML ist zwar bestimmt die beste Lösung, aber die Struktur ist mir ganz anders in Erinnerung: <person> <name>Hansmeier</name> <alter>123</alter> <ort> <name>Musterort</name> <plz>64383</plz> </ort> <hobbys> <hobby>abc</hobby> <hobby>def</hobby> </hobbys> </person> nun lässt sich nur noch darüber streiten, ob man den ort so aufsplitet wie ich es oben gemacht hab, oder ob man einfach 2 felder <ort> und <plz> anstatt diesem konstrukt einfügt...
30. November 200420 j Deswegen sag ich Mit XML lassen sich die Daten allerdings noch schöner unterteilen, und es gibt auch ne XML API für PHP. Musst du da dann auch andere mehr Daten einpflegen? Ich wollte ihm nur eine Möglichkeit zeigen, wie er seine Datei in Personenbereiche teilen kann ohne XML zui verwenden! gruss markus
30. November 200420 j Autor braucht man für XML nen compiler/interpreter ? ich kenn das überhaupt nicht O_o Gibts dazu auch anleitungen ?
30. November 200420 j Nein - das ist ne normale Textdatei mit einer Formatierung der Daten durch "TAGS". Kills weiß da besser bescheid drüber als ich! Ich hab mit PHP noch nie XML files interpretiert!
30. November 200420 j Autor hmm... ich mach das jetzt mit substr(), weil ich jetzt alles in eine zeile geschrieben habe... nur, wie bekomm ich den gesammten inhalt einer datei in eine variable ?
30. November 200420 j z.B.: $file = "datei.txt" $data = implode ('', file ($file));[/PHP] ciao TinTin
30. November 200420 j schau dir das ma an: http://de3.php.net/manual/en/ref.xml.php PS: XML ist keine Programmiersprache sondern ein Dateiformat(Dateistrukur)
30. November 200420 j PS: XML ist keine Programmiersprache sondern ein Dateiformat(Dateistrukur) PPS: XML ist eine wohlgeformte Beschreibungssprache und existiert durchaus auch ausserhalb von Dateien
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.