Daten auslesen, formatieren und in speichern im Zeitintervall

Dieses Thema im Forum "Webentwicklung" wurde erstellt von hunt33r, 28. August 2015 .

  1. 28. August 2015
    Hallo Leute,
    erneut stehe ich vor einem Problem und wollte um Rat bitten.

    Ich möchte eine Datei, die im Netz ist auslesen, formatieren und in die DB speichern. Da sich die Werte ändern, soll dies alle vier Wochen passieren (cronjob?).

    mit file_get_contents bekomme ich:
    Code:
    27.08.2015 5 00 6 30 13 40 17 26 20 38 21 58 10 55 28.08.2015 5 01 6 31 13 40 17 25 20 36 21 56 10 53
    Am Ende soll in der Datenbank stehen:
    Tag | Uhrzeit 1 | Uhrzeit 2 | Uhrzeit 3 | Uhrzeit 4 | Uhrzeit 5 | Uhrzeit 6 | Uhrzeit 7

    Wie könnte man das am Besten lösen?

    Vielen Dank vorab.
     
  2. 5. September 2015
    AW: Daten auslesen, formatieren und in speichern im Zeitintervall

    Gibt es Umbrüche zwischen den Informationen?
    Sprich steht es so im File?

    27.08.2015 5 00 6 30 13 40 17 26 20 38 21 58 10 55
    28.08.2015 5 01 6 31 13 40 17 25 20 36 21 56 10 53

    Wichtig zu wissen ...

    Wenn dem so ist kommst du mit explode("\n", "") an die einzelnen Zeilen.
    Dann kannst du die mit foreach durchlaufen

    Mit folgendem Code bekomme ich als Ausgabe folgenden Text:

    PHP:
    $line  "27.08.2015    5 00 6 30 13 40 17 26 20 38 21 58 10 55" ;
    preg_match ( "/([0-9]{2}.[0-9]{2}.[0-9]{4})/" $line $match );
    $date  = isset( $match [ 1 ]) ?  $match [ 1 ] :  '' ;

    preg_match_all ( "([0-9]{1,2} [0-9]{2})" $line $matches );
    $times  = isset( $matches [ 0 ]) &&  count ( $matches [ 0 ]) ?  $matches [ 0 ] : array();

    # Zeiten formatieren
    $times  array_map (function( $time ){
        return 
    str_replace ( " " ":" $time );
    }, 
    $times );

    echo 
    "\nAm  { $date }  fährt der Bus|Zug zu folgenden Zeiten: " . implode ( ", " $times );
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.