Michael: Datei auslesen und bestimmte Zeile übernehmen

Hallo,

vorab... das hat nicht mit meinem anderem Email Problem zu tun ;-) ok!

Wie könnte ich es anstellen, eine MSG Datei ... wenn man sie öffnet fast gleich wie eine TXT Datei, klar schon Unterschiede da...
Aber das wesentliche ist erkennbar z.B. wer es versendet hat!

Wie könnte ich es anstellen, daß php die vorher in einer MySQL Tabelle gespeichert wurde oder von mir aus auch gleich beim Einlesen nach einer Zeile suche wo From: steht und mir diese ausgibt? -> damit ich mir den Versendet dementsprechend gleich in die MySQL Tabelle mir eintragen kann...

Wie könnte ich das machen? Hab leider keinen blassen Dunst, wie ich da anfangen könnt!

Hoffe auch eure Hilfe...

Michael

  1. Hallo,

    Dateien (Text~) zeilenweise mit PHP durchlesen kannst du? Dann kannst / wirst du das sicherlich in einer Schleife (while not file.eof { ... ... } oder so) machen?! Demnach hast du pro Schleifendurchlauf genau 1 Zeile zu bearbeiten?! Und diese 1 Zeile überprüfst du nach einem / dem Suchmuster From: bla@blubb.domain. Wenn die Überprüfung erfolgreich ist, speicherst du die momentane Zeile bzw. das Ergebnis des Suchmusters in eine Variable, brichst die Schleife ab und gibst die Variable wieder aus oder schreibst diese in eine Datenbank

    Das Überprüfen kannst du auf verschiedene Arten machen:

    • du benutzt die von PHP bereitgestellten Funktionen zur Zeichenkettenverarbeitung (z.b. substr())
    • du benutzt Reguläre Ausdrücke (Regular Expressions)

    So und jetzt darfst du nach den gegebenen Stichworten goggeln, ausprobieren und dann deine mehr oder weniger früchtetragenden Versuche hier zur Diskussion stellen.

    -> damit ich mir den Versendet dementsprechend gleich in die MySQL Tabelle mir eintragen kann...

    Hab nur ich 3 Anläufe gebraucht, den Sinn dieser Wortgruppe zu verstehen?

    Ciao, Frank

    1. Hi,

      -> damit ich mir den Versendet dementsprechend gleich in die MySQL Tabelle mir eintragen kann...

      Hab nur ich 3 Anläufe gebraucht, den Sinn dieser Wortgruppe zu verstehen?

      Werde deinen Vorschlag morgen testen... Wg. dem Satz... :-)) Sorry, aber ich bin seit halb 5 heute morgen auf und gehe jetzt schlafen, damit ich morgen ein besseres Deutsch drauf hab!
      :)

  2. Hallo,

    Noch ein ergänzender Hinweis:
    Seit PHP 4.3 gibt es die praktische Funktion file_get_contents().
    Damit kannst Du den ganzen Inhalt einer Datei in einen Stringvariable einlesen.
    Das ist oft praktischer als das Hantieren mit file() oder gar fopen() & Co.

    Auf den String kannst Du dann beliebige String-Funktionen anwenden,
    z.B. den String vom ersten Vorkommen von From: bis zum nächstfolgenden
    Zeilenumbruch ("\n" bzw. "\r\n" bzw. "\r", je nach Betriebssystem)
    ausschneiden und schon hast Du "Deine Zeile", die das "From:" enthält,
    und kannst damit weiterarbeiten.

    HTH, mfg
    Thomas

    1. Hallo

      Noch ein ergänzender Hinweis:
      ... file_get_contents() ...

      Das ist oft praktischer als das Hantieren mit file() ... & Co.

      Auf den String kannst Du dann beliebige String-Funktionen anwenden,
      z.B. den String vom ersten Vorkommen von From: bis zum nächstfolgenden
      Zeilenumbruch ("\n" bzw. "\r\n" bzw. "\r", je nach Betriebssystem)
      ausschneiden und schon hast Du "Deine Zeile", die das "From:" enthält,

      Die er, in diesem speziellen Falle, mit file() (ohne Nachbehandlung incl. Zeilenumbruch) sofort hätte. ;-) In diesem Anwendungsfall ist file (mit anschließendem trim() über jedes Arrayelement/jede Zeile) mMn die richtige Wahl.

      Mir schwirrt aber grade die Frage nach dem erwarteten Format der Zeile im Kopf rum. Die muss ja nicht zwingend so aussehen: "from: post@example.com", manchmal steht da ja auch noch ein Name drin ("from: "irgendein Name" post@example.com"). Das sollte man für den Suchstring bzw. für die Verarbeitung der Suchergebnisses beachten. Der OP möchte ja die Emailadresse ansich extrahieren.

      Tschö, Auge

      --
      Die deutschen Interessen werden am Liechtenstein verteidigt.
      Veranstaltungsdatenbank Vdb 0.2