Enrico: "Filename cannot be empty" -> Verzeichnisproblem?

Beitrag lesen

Mahlzeit,

ich komme bei meinem Gästebuch-Skript nicht weiter, weil mir stetig die Warnung "file() [function.file]: Filename cannot be empty in C:\xampplite\htdocs\Dateien\php\Gaestebuch\inc_Funktionen.inc on line 20" ausgegeben wird.

Folgende Verzeichnisstruktur habe ich lokal angelegt, da ich ja noch ganz am Anfang der Entwicklung stehe:

Datei "Gaestebuch.php"
   |
   +- "Ordner "Gaestebuch"
      |
      +- Datei "inc_Einstellungen.inc"
      |
      +- Datei "inc_Funktionen.inc"
      |
      +- Datei "txt_Eintraege.txt"

In der Datei "Gaestebuch.php", die beim Sprung in unser Gästebuch als erste Datei aufgerufen wird, binde ich die notwendigen Dateien ein und bereite die eingelesenen Einträge für die Ausgabe vor:

include ("Gaestebuch/inc_Einstellungen.inc");
   include ("Gaestebuch/inc_Funktionen.inc");

Eintraege_aufbereiten ();

In der Datei "inc_Einstellungen.inc" lege ich u.a. den Pfad auf die Datei mit den Einträgen:

$Datei_Eintraege = "Gaestebuch/txt_Eintraege.txt";

Die Datei "inc_Funktionen.inc" beinhaltet, wenn alles fertig ist, alle Funktionen, die für den Betrieb unseres Gästebuches erforderlich sind, u.a. auch die Funktion "Eintraege_aufbereiten ()", in der in der markierten Zeile obige Warnung ausgegeben wird:

function Eintraege_aufbereiten ()
   {
==>   $Eintraege = array_reverse (file ($Datei_Eintraege)); <==

$Anzahl_Eintraege = count ($Datei_Eintraege);

for ($Reihe = 0; $Reihe < $Anzahl_Eintraege; $Reihe++)
      {
         $Spalte = explode ("|", $Eintraege [$Reihe]);

$Name     = $Einzelne_Spalten [0];
         $Datum    = $Einzelne_Spalten [1];
         $Uhrzeit  = $Einzelne_Spalten [2];
         $Eintrag  = $Einzelne_Spalten [3];
         $eMail    = $Einzelne_Spalten [4];
         $Homepage = $Einzelne_Spalten [5];

$Klasse_eMail    = ($eMail == "")    ? "Keine_eMail"    : "eMail";
         $Klasse_Homepage = ($Homepage == "") ? "Keine_Homepage" : "Homepage";

echo <<<EOT

<table>
               <tr>
                  <td class="Eintrag_Abschnitt_Oben"></td>
               </tr>
               <tr>
                  <td class="Eintrag">$Eintrag</td>
               </tr>
               <tr>
                  <td class="Eintrag_Abschnitt_Unten"></td>
               </tr>
               <tr>
                  <td class="Rechtsbuendig">$Name</td>
               </tr>
               <tr>
                  <td class="Rechtsbuendig">$Datum</td>
               </tr>
               <tr>
                  <td class="Rechtsbuendig">$Uhrzeit Uhr</td>
               </tr>
            </table>

EOT;
      }
   }

Ich vermute, dass hier ein Problem mit den Pfad-Angaben vorliegt, wobei das auch nicht ganz zutreffend sein kann, denn sonst hätte die Datei "Gaestebuch.php" die zu includierenden Dateien ja nicht gefunden, also wird zunächst "inc_Einstellungen.inc" geladen und ausgeführt.

Werden die Pfad-Angaben von der "Root"-Datei, hier "Gaestebuch.php" abgearbeitet oder wie geht PHP hier vor?
Warum wird die Variable "$Datei_Eintraege" als leer interpretiert?

Ich habe deshalb kein vorgefertigtes Skript verwendet, weil ich ja etwas lernen und nicht nur einbinden möchte.

Vielen Dank für eure Mithilfe.

Gruß
Enrico