TXT datei und Variablenzuordnung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • TXT datei und Variablenzuordnung

    Hallo zusammen....

    mein problem besteht darin, dass ich eine txt - datei...mehrere Zeilen
    => mehrere Datensätze habe, z.B.

    Name=Anton
    Vorname=Aus Tirol
    Vorname=Winni
    Strasse=Musterstrasse 12
    Ort=Berlin
    Name=andere Name
    Vorname=anderer Vorname
    Vorname=zweiter Vorname
    Strasse=Musterstrasse 13
    Ort=Dresden
    Name=.....


    das was ich erreichen möchte, dass links die sachen die variablen sind und rechts der wert dazu und das für jeden datensatz....

    letzendlich soll dann mithilfe der Variablen eine Liste erzeugt werden, wo diese Infos per html ausgegeben werden...(Tabelle)

    das ganze klappt recht gut wenn ich eine csv datei habe, aber diesmal habe ich ne txt datei als vorlage....

    So kann es dann mal aussehen: Tabellen zeile, Tabellenspalte

    Zeile.........Spalte1...............Spalte2.................Spalte3
    1.............. Anton.................aus Tirol, Winni......Musterstrasse 12 ......
    2...............anderer Name .....
    3


    mir gehts letzendlich darum, auf die variablen zugreifen zu können....
    hat jemand ne idee?

    danke und gruss

  • #2
    mit file() einlesen und mit explode() trennen
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      thanx für die schnelle antwort...

      das was du vorschlägst, das hatte ich schon probiert, doch ist irgendwie nicht so toll, wenn ich auf den nächten datensatz zugreife....weiss ja nicht genau welche zeile der ist,(nur das er mit name beginnt) da die inhalte der txt datei variieren und ausserdem wenn ich mehrere vornamen habe muss ich noch versuchen diese zu einem string zu mergen.....

      so leicht gehts net mit file und explode...glaube ich.....

      Kommentar


      • #4
        PHP-Code:
        while ($daten fread(...))
        {
           
        $d explode('='$daten);
           if (
        $d[0] == 'name')
               echo 
        'neuer name';

        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          speichere die dateb doch einfach so

          Anton|Aus Tirol|Winni|Musterstrasse 12|Berlin
          Anton2|Aus Tirol2|Winni2|Musterstrasse 122|Berlin2

          und dann geht das wunderbar

          Kommentar


          • #6
            das problem ist ja leider, dass diese datei so von meinem offline-tool beim generieren exportiert wird....

            da muss ich mir nochmal was überlegen....wie ich die einzelnen datensätze trennen und ausgeben kann...

            mal schauen...wenn jemand noch ne idee hat, hab nen offenes ohr ;-)

            aber bisher danke für die tipps.....

            gruss

            Kommentar


            • #7
              hallo..ich bins mal wieder nach eienr längeren nacht...

              ich habe nun ein wenig rumgetüftelt und mich dazu entschieden, diese textdatei irgendwie in eine csv-konforme datei zubringen....

              in dem ich folgendes mache...
              PHP-Code:
              <?PHP
              $fp
              =fopen("test.txt","r");
              while(!
              feof($fp)) 
               {
                      
              $line=fgets($fp,1024);
                  
              $array explode("=",$line);
                  
              $satz='' ";
                      if (
              $array[0] == 'Name')
                      {
                          echo "
              <br>";
                          echo 
              $array[1].";";
                          
              $satz.=$array[1];
                      }
                   if (
              $array[0] == 'Vorname')
                      {
                          echo 
              $array[1].";";
                          
              $satz.= ';'.$array[1].';';
                              }
                 }
              $text=fopen("test.csv","a+"); 
              fputs(
              $text,$satz); 
              fclose(
              $text);

              fclose(
              $fp);
              ?>
              das auslesen klappt, wenn ich mir das ganze mit echo anzeige....
              aber wenn ich das reinschreibe in die neue datei so kommt dann folgendes ergebnis...

              Aus Tirol
              ;Anton
              ;neuer Name
              ;neuer Vorname etc...

              ich würde es gerne so haben wollen

              Aus Tirol;Anton
              neur Name; neuer Vorname
              etc


              wo liegt mein denkfehler in dem proggi????
              thanx

              Kommentar


              • #8
                lass das mi cvs .. kannst so auch verwenden ..

                PHP-Code:
                foreach ( file datei.txt ) as $line ) {
                  foreach ( 
                explode '='$line ) as $key => $value ) {
                    if ( 
                $key === 'Name' $i++;
                    
                $arr[$i][$key][] = $value;
                  }
                }

                print_r $arr); 
                guck dir an wie $arr jetzt aufgebaut ist ..
                implode() wirst du jetzt noch brauchen ..
                mfg,
                [color=#0080c0]Coragon[/color]

                Kommentar

                Lädt...
                X