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