You are not logged in.

wcf.regNote.message

Lo3ty

Beginner

  • "Lo3ty" started this thread

Posts: 1

  • Send private message

1

Wednesday, January 9th 2008, 11:13pm

Daten aus Txt Datei auslesen

hi @ all

Ich hab neulich mal meine ganzen SMS vom Handy aufn PC gespielt und die jetzt mal auf ne txt Datei umkonvertiert...

So ich möchte jetzt gerne meine SMS in eine MYSQL Datenbank speichern so das ich nach belieben ordnen kann.. zB alle SMS nach Datum oder nach Handynummer....

Nun zu meinem Problem

Ich hab da jetzt eine txt Datei in der ich alle SMS untereinander Stehen habe und zwar in diesem Schema:

Source code

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
Top
--------------------------------------------------------------------------------



Tel: 000555444
Subject: blabla
Date: 22.12.2007 14:19:00

eine Zeile mit Text
Noch eine Zeile mit Text



Top
--------------------------------------------------------------------------------



Tel: 000555444456
Subject: blabla
Date: 22.12.2007 13:20:00

Eine Zeile mit Text



Top
--------------------------------------------------------------------------------



Tel: 000555444448
.
.
.
.
.
.


So ich weiß wie ich eine ganze Datei auslesen kann und anzeigen aber ich brauche hier aus dem file für einen Datensatz immer nur die Telefonnummer also die Zeile mit
Tel:
Das Subject ist eigentlich egal das brauch ich nicht
Dann brauch ich natürlich die Zeile
Date: xx.xx.xxxx xx:xx:xx
und den Text selbst natürlich auch der manchmal nur über eine Zeile geht und manchmal über 2 oder noch mehr Zeilen

Wie mache ich das jetzt dass ich nur die gewünschten Daten ausgelesen bekomme... also so das ich sie in Variablen dann in meiner MySQL Datenbank speichern kann....

mfg Lo3ty

This post has been edited 1 times, last edit by "Lo3ty" (Jan 9th 2008, 11:13pm)


Prometheus

Administrator

Posts: 3,278

  • Send private message

2

Thursday, January 10th 2008, 10:51pm

Damit die Daten erst mal ordentlich in Variablen stehen musst Du nach dem Einlesen des Dokuments die einzelteile anhand klarer Kriterien splitten. Das heißt z.B. die Linie aus Strichen kann Dir als Kriterium dienen um die einzelnen SMS zu erhalten. Dann die einzelnen Bezeichnungen usw. bis Du eben jeden einzelnen Wert in einer Variable stehen hast. Das ganze schreibst Du dann in die Datenbank.

Schau dazu mal hier nach -> http://de2.php.net/manual/de/function.split.php
Jedwege Anfragen bitte an Technomausi oder ShaoKhan richten. Dieses Konto ist und bleibt inaktiv.

yankee

Beginner

Posts: 3

  • Send private message

3

Sunday, February 3rd 2008, 11:23am

Ich schlage vor, du gehst zeilenweise vor:

Source code

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
<?php
$datei =fopen('/deine/datei.txt', 'r');
$sms =array();
while(!feof($datei))
{
  $cursms =array();
  $zeile =trim(fgets($datei));
  if ($zeile =='--------------------------------------------------------------------------------') //Anfang einer SMS
  {
    while(!feof($datei)) // überspringe leerzeilen
    {
      $zeile =trim(fgets($datei));
      if (empty($zeile)) break;
    }
    //Jetzt kommen die "header". Sie enden mit einer Leerzeile
    while(!feof($datei) && !empty($zeile))
    {
      $tmp =explode(':', $zeile, 2);
      $cursms[$tmp[0]] =$tmp[1];
    }
    while(!feof($datei)) // überspringe leerzeilen
    {
      $zeile =trim(fgets($datei));
      if (empty($zeile)) break;
    }
    // Jetzt kommt der eigentliche Text
    $cursms['text'] ='';
    while(!feof($datei) && !empty($zeile))
    {
      $cursms['text'] .="$zeile\n";
      $zeile =trim(fgets($datei));
    }
    $sms[] =$cursms;
  }
}
print_r($sms);
?>

This post has been edited 1 times, last edit by "yankee" (Feb 3rd 2008, 11:23am)


wcf.user.socialbookmarks.titel