Peak File auslesen str_replace

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Peak File auslesen str_replace

    Hallöchen alle zusammen

    Hab da ein kleines Problem an dem ich einfach nicht weiterkomme.

    Zu meinem Problem,

    ich hab ein vom eggdrop generiertes peak File.

    Der Aufbau ist folgender (peak.db):
    Code:
    %!%#zuhause!!!13@04.03.2006@15:52@PM
    Jetzt möchte ich da folgende Daten auslesen :

    %!%#zuhause!!!13@04.03.2006@15:52@PM

    Das hab ich mittels folgendem Code probiert :

    PHP Code:
    <?
    $ircirctopdb = "peak.db";

    $ircirctopfh = @fopen($ircirctopdb,"r");
    $ircirctopline1 = @fgets($ircirctopfh,10000);
    $ircirctopline2 = @fgets($ircirctopfh,10000);
    $ircirctopline = @fgets($ircirctopfh,10000);

    $ircirctopline1 = str_replace("%!%#zuhause!!!","", $ircirctopline); 
    $ircirctopline2 = str_replace("%!%#zuhause!!!","", $ircirctopline); 
    $ircirctopline = str_replace("%!%#zuhause!!!","", $ircirctopline); 

    $ircirctop = @explode("@",$ircirctopline);
    $ircirctoprecord = $ircirctop[0];
    $ircirctopdatum = $ircirctop[1];
    $ircirctopuhrzeit = $ircirctop[2];


    if (!$ircirctoprecord) {$ircirctoprecord = "0"; }
    if (!$ircirctopdatum) {$ircirctopdatum = "00.00.0000"; }
    if (!$ircirctopuhrzeit) {$ircirctopuhrzeit = "0 Uhr"; }

    ?>
    Lass ich mir die Variablen nun ausgeben
    $ircirctoprecord
    $ircirctopdatum
    $ircirctopuhrzeit

    Bekomm ich folgendes zurück :
    0
    00.00.0000
    0 Uhr

    Ich bin mit meinem Latain am ende...
    Kann mir einer da evtl. helfen ?

    Lieben Gruß Wojti

    Edit

    Die peak.db liegt natürlich im gleichen verzeichnis wie das Script
    Last edited by Wojti; 04-03-2006, 16:47.

  • #2
    Hat dein peakfile ein regelmäßiges Muster nachdem es aufgebaut ist? Wenn ja, geh mit RegEx dran

    Comment


    • #3
      Original geschrieben von Luke
      Hat dein peakfile ein regelmäßiges Muster nachdem es aufgebaut ist? Wenn ja, geh mit RegEx dran
      Hallöle

      Naja, Regelmässig ?

      Es steht in der datei nur folgendes :
      %!%#zuhause!!!13@04.03.2006@15:52@PM

      Nicht mehr nicht weniger.
      Einzig die 13, 04.03.2006 und 15:52 können sich ändern.

      alles davor bleibt unverändert.
      Deswegen wollt ich das mit str_replace rauslöschen.

      So wird aus
      %!%#zuhause!!!13@04.03.2006@15:52@PM
      mittels
      $ircirctopline = str_replace("%!%#zuhause!!!","", $ircirctopline);
      ein
      13@04.03.2006@15:52@PM

      Und daraus wollt ich mittels
      $ircirctop = @explode("@",$ircirctopline);

      3 Arrays bilden.
      Deswgen drei durchgänge.

      Aber die Arrays bleiben, aus einem mir unerklärlichen Grund leer.
      Ruf ich die Arrays mittels echo direkt ab,
      kommt nix zurück

      Danke schonmal für die Mühe.
      Last edited by Wojti; 04-03-2006, 17:06.

      Comment


      • #4
        scheint programmiertechnisch richtig zu sein... sicher dass das was du suchst in der 3ten Zeile steht? geh mal debug mäßig durch und lass dir einzeln die Inhalte der Variablen ausgeben, damit du siehst wo der fehler liegt, ich vermute dass es nicht am explode oder dem str_replace liegt.

        Comment


        • #5
          Hab den Fehler nun endlich finden können

          PHP Code:
          <?
          $ircirctopdb = "peak.db";

          $ircirctopfh = @fopen($ircirctopdb,"r");
          $ircirctopline = @fgets($ircirctopfh,10000);
          $ircirctopline1 = @fgets($ircirctopfh,10000);
          $ircirctopline2 = @fgets($ircirctopfh,10000);

          $ircirctopline = str_replace("%!%#zuhause!!!","", $ircirctopline); 
          $ircirctopline1 = str_replace("%!%#zuhause!!!","", $ircirctopline); 
          $ircirctopline2 = str_replace("%!%#zuhause!!!","", $ircirctopline); 

          $ircirctop = @explode("@",$ircirctopline);
          $ircirctoprecord = $ircirctop[0];
          $ircirctopdatum = $ircirctop[1];
          $ircirctopuhrzeit = $ircirctop[2];


          if (!$ircirctoprecord) {$ircirctoprecord = "0"; }
          if (!$ircirctopdatum) {$ircirctopdatum = "00.00.0000"; }
          if (!$ircirctopuhrzeit) {$ircirctopuhrzeit = "0 Uhr"; }

          ?>
          So hat es dann auch gleich funktioniert

          Danke für die Mühen

          Gruß Wojti

          Comment

          Working...
          X