Bereich aus Datei auslesen

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

  • Bereich aus Datei auslesen

    Hi zusammen,

    ich habe txt dateien (mit verschiedenen Namen) in welchen folgender Inhalt zu finden ist:

    Job ID : 6133
    Job Subject : 6133_max.mustermann@lala.de - P1F-B1370 _020606
    Company : Firmenname
    Total Pages : 1152
    Total Successful Pages: 1161
    Pages per sent : 3
    Total Minutes : 574.11
    Start time : 06/02/2006 01:50 PM
    End time : 06/02/2006 02:24 PM

    Total Recipients : 441
    Successful : 387 (87.76%)
    3900 (Blocked) : 2 (0.45%)
    3920 (Busy) : 2 (0.45%)
    3932 (Inaccessible): 4 (0.91%)
    3935 (No answer) : 12 (2.72%)
    3936 (Voice) : 34 (7.71%)

    Was ich bräuchte wäre die Möglichkeit den Bereich von Total Successful Pages bis zum schluss in eine Spalte der MySQL zu schreiben, kann mir hier jemand weiterhelfen?

    Danke schon mal.

    Matthias

  • #2
    du könntest zum beispiel die datei bis eof in einen string lesen, und es dann mit strstr beschneiden... ist mit sicherheit nur eine von vielen möglichkeiten.
    **********
    arkos
    **********

    Kommentar


    • #3
      Re: Bereich aus Datei auslesen

      Ansatz:
      PHP-Code:
      $f file('...');
      for (
      $i 4$i count($f); $i++) {
          
      $tmp explode(':'$f[$i]);
          
      $f[$i] = trim($tmp[1]);
      }
      print_r($f); 

      Kommentar


      • #4
        Hoi!

        Danke für die Antworten, aber der explode funzt so nicht mit ":" als Trenner, weil ich ja schon die komplette Zeile brauche .... Ich habe versucht die Funktion "Parse start" und "Parse end" zu nutzen, aber die bringt ich irgendwie nicht hin.

        Ich bräuchte halt die Zeilen 5 bis ende in EINER einzigen Variablen. weil diese sollen dann in eine Datenbank geschrieben werden.

        Erbarmt euch meiner

        Kommentar


        • #5
          sind die zeilennnummern immer die selben?
          dann zerschneide das array, das du mit file() bekommst, an einer geeigneten stelle.

          Kommentar


          • #6
            Und genau da hamma den Hund, ich möchte es nicht auf den Zeilennummern aufbauen sondern auf einem Anfangswort ...

            Kommentar


            • #7
              dann lies doch alles ein und explode() nach deinem anfangswort.

              Kommentar


              • #8
                Original geschrieben von RealFairPlayer

                Danke für die Antworten, aber der explode funzt so nicht mit ":" als Trenner, weil ich ja schon die komplette Zeile brauche ....
                Was ist das Problem du kannst ja einfach vor Zeile 5 einen, wenn du willst komplizierteren Trenner reinmachen, z.B. "-%**##**%-".
                Ich glaube kaum, dass du so ne Zeichenkette per Zufall sonst noch irgendwo antriffst.

                Kommentar


                • #9
                  jmc: warum glaubst du, dass er die datei selbst erstellt?

                  Kommentar


                  • #10
                    me again.

                    Also, das Ziel rückt näher, aber meine Dummheit siegt derzeit noch

                    PHP:

                    Code:
                    <?
                    
                    $f = file('daten.txt');
                    for ($i = 4; $i < count($f); $i++) {
                    	$tmp = explode('Total Faxed Pages', $f[$i]);
                        $f[$i] = trim($tmp[1]). "<br>";
                    }
                       
                    print_r($f);
                    
                    ?>
                    Aber die Ausgabe passt ned Ich möchte ja ned das die Array's nach explode leer bleiben sondern die davor ...

                    Kommentar


                    • #11
                      die for-schleife ist nun überflüssig.

                      Kommentar


                      • #12
                        Oben wars noch "successful", jetzt ist es "faxed"?
                        PHP-Code:
                        <?php
                        $f 
                        file_get_contents('daten.txt');
                        $f explode('Total Faxed Pages'$f);
                        $f 'Total Faxed Pages'.$f[1];
                        echo 
                        $f;
                        ?>

                        Kommentar


                        • #13
                          gehen wir davon aus, du hast die datei in einem string:

                          PHP-Code:
                          $datei "Job ID : 6133
                          Job Subject : [email]6133_max.mustermann@lala.de[/email] - P1F-B1370 _020606
                          Company : Firmenname
                          Total Pages : 1152
                          Total Successful Pages: 1161
                          Pages per sent : 3
                          Total Minutes : 574.11
                          Start time : 06/02/2006 01:50 PM
                          End time : 06/02/2006 02:24 PM

                          Total Recipients : 441
                          Successful : 387 (87.76%)
                          3900 (Blocked) : 2 (0.45%)
                          3920 (Busy) : 2 (0.45%)
                          3932 (Inaccessible): 4 (0.91%)
                          3935 (No answer) : 12 (2.72%)
                          3936 (Voice) : 34 (7.71%)
                          "
                          ;

                          $ausschnitt =  strstr($datei,'Total Successful Pages:');

                          echo 
                          $ausschnitt
                          langt das nicht??
                          **********
                          arkos
                          **********

                          Kommentar


                          • #14
                            Hoi!

                            Das ist was ich brauche, TAUSEND Dank.
                            Was ich nun noch rausfinden muss, mit folgendem code wird mir nur diese eine Zeile (welche Total Successfull Pages) beinhaltet ausgegeben, was danach folgt jedoch nicht, aber auch das brauche ich wie muss der Parameter da erweitert werden?

                            Hier mein derzeit funktionierender Code:
                            Code:
                            <?
                            $fp = fopen('daten.txt', 'r');
                            while (!feof($fp))
                             {
                                $zeile = fgets($fp,500). "<br>";
                            $ausschnitt =  strstr($zeile,'Total Successful Pages:');
                            echo $ausschnitt;
                            }
                            fclose($fp);
                            ?>

                            Kommentar


                            • #15
                              Hör mal auf zu raten! Du überschreibst $ausschnitt bei jedem Schleifendurchlauf. Lies erstmal die Datei komplett ein, also nur fgets() in der Schleife. Den Rest kannst du danach mit strstr() machen.

                              Kommentar

                              Lädt...
                              X