robertroth: Unerklärliches Problem mit Verarbeiten eingelesener Textdatei

Beitrag lesen

Liebe Mitdenker, liebe Wissende, liebe Neugierige,

Ich habe folgendes Problem und ich komme einfach nicht dahinter, worin dessen Ursache liegt:

Ich lese unterschiedliche Textdateien ein, deren Namen der anzuzeigenden Seite (Variable $seite) entspricht, und verarbeite anschließend den Inhalt:

<?php
if ($seite != "media" && $seite != "community")
{
   require ("dateiEinlesen.php");

   $inhalt = dateiEinlesen ($seite);

   // [1]

   if ($inhalt != -1) // Datei wurde gefunden
   {
      // [2]

      if ($inhalt != 0) // Datei ist nicht leer
      {
         $datensaetze = explode ("[ENDE]", $inhalt);
         $anzahlEintraege = count ($datensaetze);
      }
      else
         echo 'Datei "' . $seite . '.txt" hat keinen Inhalt<br>';
   }
   else
      echo 'Datei "' . $seite . '.txt" nicht gefunden<br>';
}

switch ($seite)
{
   case "home":
   {
      if ($anzahlEintraege > 1) // count nach explode bei leerem String ergibt 1
      {

      }

      break;
   }

   case "band":
   {
      // [3]

      if ($anzahlEintraege > 1)
      {

      }

      break;
   }

   ...weitere "case"-Fälle...
}
?>

Die Datei "dateiEinlesen.php" beinhaltet lediglich folgende Funktion, die sich um das Einlesen der jeweiligen Textdatei kümmert und -1 zurückliefert, wenn die Datei nicht gefunden wurde, 0 bei leerem Inhalt bzw. den eingelesenen Inhalt:

<?php
function dateiEinlesen ($datei)
{
   clearstatcache();

   $datei = "txt/" . $datei . ".txt";

   if (!!@filemtime ($datei))
   {
      if (0 != filesize ($datei))
         return file_get_contents ($datei);
      else
         return 0;
   }
   else
      return -1;
}
?>

Das Einlesen und Verarbeiten der Textdatei "home.txt" klappt einwandfrei, auch kann ich den unbearbeiteten Inhalt der Textdatei "band.txt" bei den Marken [1], [2] und seltsamerweise sogar bei [3] ausgeben lassen, aber es greift, warum auch immer, der "else"-Zweig der Abfrage nach Marke [2] und demnach wirft er mir bei der Abfrage nach Marke [3] einen Fehler.

und wie lautet dieser Fehler?

was bedeutet "!!@filetime"?

Die Textdateien liegen alle im selben Verzeichnis, auch die Benennungen stimmen.

Wo liegt der Fehler?

Spirituelle Grüße
Euer Robert
robert.r@online.de

--
Möge der wahre Forumsgeist ewig leben!