Michael Clos: Unnötige Leerzeilen in dat-datei entfernen

Beitrag lesen

Hallo,

ich habe Probleme mit der Speicherung neuer Gästebuch-Einträge in einer dat-Datei, da immer wieder Leerzeilen eingefügt werden, was nicht sein soll.

Hier der relevante Code zur Speicherung eines neuen Eintrages:

$Eintraege_in_Datei = file ($Datei_Name);
$Anzahl_Eintraege = count ($Eintraege_in_Datei);

$Datei_Zeiger = fopen ($Datei_Name, "w");

if (strtoupper ($Betriebssystem) == "UNIX")
{
  if (flock ($Datei_Zeiger, LOCK_EX))
  {
    fwrite ($Datei_Zeiger, $Neuer_Eintrag);

if ($Anzahl_Eintraege > 0)
    {
      fwrite ($Datei_Zeiger, "\n");

for ($i = 0; $i < $Anzahl_Eintraege; $i++)
      {
        if (empty ($Eintraege_in_Datei [$i]))
          continue;
        else
          fwrite ($Datei_Zeiger, $Eintraege_in_Datei [$i] . "\n");
      }
    }

flock ($Datei_Zeiger, LOCK_UN);
  }
}
else
{
  fwrite ($Datei_Zeiger, $Neuer_Eintrag);

if ($Anzahl_Eintraege > 0)
  {
    fwrite ($Datei_Zeiger, "\n");

for ($i = 0; $i < $Anzahl_Eintraege; $i++)
    {
      if (empty ($Eintraege_in_Datei [$i]))
        continue;
      else
        fwrite ($Datei_Zeiger, $Eintraege_in_Datei [$i] . "\n");
    }
  }
}

Die dat-Datei sieht hierbei wie folgt aus:

Ein Eintrag erstellt:
[1] XXXXXXXXXX

Zwei Einträge erstellt:
[1] xxxxxxxxxx
[2] xxxxxxxxxx
[3] Leerzeile

Drei Einträge erstellt:
[1] xxxxxxxxxx
[2] xxxxxxxxxx
[3] Leerzeile
[4] Leerzeile
[5] xxxxxxxxxx
[6] Leerzeile
[7] Leerzeile

Vier Einträge erstellt:

[1] xxxxxxxxxx
[2] xxxxxxxxxx
[3] Leerzeile
[4] Leerzeile
[5] xxxxxxxxxx
[6] Leerzeile
[7] Leerzeile
[8] Leerzeile
[9] Leerzeile
[10] Leerzeile
[11] Leerzeile
[12] xxxxxxxxxx
[13] Leerzeile
[14] Leerzeile
[15] Leerzeile
[16] Leerzeile
[17] Leerzeile
[18] Leerzeile
[19] Leerzeile

Wie kann ich Leerzeilen 100% verhindern ?

Vielen Dank im voraus.

Gruss, Michael Clos