Enrico: Problem beim Einlesen einer Textdatei

Beitrag lesen

Hallo und guten Abend,

ich arbeite bei unserem Gästebuch mit Textdateien.

Die Textdateien bestehen dabei aus einzelnen Zeilen, die ich mittels des Kennzeichens (?) "PHP_EOL" trenne, die einzelnen Informationen der Zeilen wiederum sind durch "|" voneinander abgegrenzt.

Hier der php-Code zum Einlesen der Einträge:

$Datei  = "../Textdateien/Gaestebuch__Eintraege.txt";
   $Dateiname = substr ($Datei, 15);

if (file_exists ($Datei))
   {
      if (is_readable ($Datei))
      {
         $Zeiger = @fopen ($Datei, "rb");

if ($Zeiger)
         {
            fseek ($Zeiger, 0, SEEK_END);
            $Dateigroesse = ftell ($Zeiger);

if ($Dateigroesse > 0)
            {
               $Versuche = 0;

do
               {
                  if ($Versuche > 0)
                  {
                     usleep (rand (1, 10000));
                  }

$Versuche += 1;
               }
               while (! flock ($Zeiger, LOCK_EX) and $Versuche <= 100);

if ($Versuche === 100)
               {
                  $Meldung = 'Die Datei "' . $Dateiname . '" kann nicht verriegelt werden';
               }
               else
               {
                  echo "Lese Datei<br><br>";

$Inhalt = @fread ($Zeiger, $Dateigroesse);

flock  ($Zeiger, LOCK_UN);
                  fclose ($Zeiger);
                  echo "<br><br>Datei eingelesen";

var_dump ($Inhalt);
               }
            }
         }
      }
   }

Die Ausgabe im Browser liefert mir folgende Angaben:

Dateigroesse: 2597
   filesize:     2597
   Lese Datei
   string(0) ""
   Datei eingelesen

D.h., folgende Voraussetzungen scheinen erfüllt zu sein:

1. Datei besteht
2. Datei ist lesbar
3. Zeiger kann initialisiert werden
4. Dateigröße > 0, d.h. es wird fortgefahren
5. Verriegelung klappt

Was ich allerdings nicht verstehe, ist, dass $Inhalt leer ist.

Ich habe etliche Seiten im Internet durchforstet und verschiedene Ansätze ausprobiert, aber das Array "$Inhalt" bekommt keinen Inhalt zugewiesen.

Was habe ich falsch gemacht?

Vielen Dank für eure Mithilfe.

Gruß,
Enrico