Thomas: ab und zu kommt ein implode-fehler

Hi.
Von Zeit zu Zeit erscheint auf meiner Page ein implode-Fehler. Wenn man auf aktualisieren klickt, verschwindet er wieder.
Der Fehler taucht ca. alle 5 Tage auf.
Den Screenshot könnt ihr euch unten anschauen (oder auf http://www.slapped.de/fehler.jpg).
-------------
Hier das Script:
-------------

$CookieTimeOut = "100";
$Num_Save_IP = "20";
$FontTag = "<font size=2 face=Verdana, Arial, Helvetica, sans-serif color=#ffffff>";
$IPFile = "scripte/counter/IP-logs.dat";
$LogFile = "scripte/counter/count-stand.dat";

$CurrentIP=$REMOTE_ADDR;
if(file_exists($IPFile))
{
 $IPF=fopen($IPFile,"r+");
 $IPData=fgets($IPF,2000);
 $IPArray=explode("#",$IPData);
 if(in_array($CurrentIP,$IPArray))
 {
   $Action="read";
 }
 else
 {
  $SavedIPs=count($IPArray);
  if($SavedIPs<=$Num_Save_IP)
  {
   fputs($IPF,$CurrentIP."#");
   fclose($IPF);
   $Action="update";
  }
  else
  {
   $arrayp=array_pop($IPArray);
   $IPArray=array_reverse($IPArray);
   array_push($IPArray,$CurrentIP);
   $IPArray=array_reverse($IPArray);
   $AddIP=implode("#",$CurrentIP);
   $IPF=fopen($IPFile,"w+");
   fputs($IPF,$CurrentIP);
   fclose($IPF);
   $Action="update";
  }
 }
 }
 else
 {
  $Counter=fopen($LogFile,"w+");
  fputs($Counter,1);
  fclose($Counter);
  $IPF=fopen($IPFile,"w^");
  fputs($IPF,$CurrentIP."#");
  $CurrentCount=1;
 }
if($Action=="update")
{
  $Counter=fopen($LogFile,"r+");
  $CurrentCount=fgets($Counter,20);
  $CurrentCount++;
  fseek($Counter,0);
  fputs($Counter,$CurrentCount);
  fclose($Counter);
}
if($Action=="read")
{
  $Counter=fopen($LogFile,"r+");
  $CurrentCount=fgets($Counter,20);
  fclose($Counter);
}
echo "<html><body>$FontTag <b>$CurrentCount </b>";
?>

Vielleicht könnt ihr mir ja weiterhelfen.
Vielen Dank!

  1. Hi,

    Von Zeit zu Zeit erscheint auf meiner Page ein implode-Fehler. Wenn man auf aktualisieren klickt, verschwindet er wieder.
    Der Fehler taucht ca. alle 5 Tage auf.

    hargl, Du hättest wenigstens noch die betreffende Zeile markieren können... mich deucht jedoch, die zu implodierenden Daten stammen ursprünglich aus einer Dateioperation, bei der Du keinerlei Fehlerbehandlung vornimmst und auch den Realitätscheck des Ergebnisses auslässt.

    _Jede_ Dateioperation kann fehlerhaft enden, rechne also immer damit. Selbst wenn es keinen Fehler gibt, kann die Datei nicht das beinhalten, was Du vermutest. Prüfe ergo nach, ob die Daten "ungefähr" richtig sind - bei Dir reicht es vermutlich, wenn sie nicht leer sind.

    Cheatah

    --
    X-Will-Answer-Email: No
    1. Hi.
      Sorry ich hab total vergessen, die Zeile anzugeben.
      In der Zeile steht:
       $AddIP=implode("#",$CurrentIP);

      Vielleicht hilft es weiter.
      Danke.
      Gruß

      1. Hi,

        Sorry ich hab total vergessen, die Zeile anzugeben.

        ich hatte sie schon erraten und meine Antwort darauf ausgelegt.

        In der Zeile steht:

        Beim nächsten Mal bitte im Quellcode markieren, z.B. mittels einer vorherigen Kommentarzeile :-)

        Cheatah

        --
        X-Will-Answer-Email: No