Antwort an „Raketenwilli“ verfassen

Moin,

warum wird die Datei

$datei = "/xxxx.php" mit include($datei)

korrekt eingefügt und bei der Abfrage

if (file_exists($datei))

nicht gefunden?

(1) Hast Du ein TocTou-Problem?

Falls Du die Datei erstellst, dann includest und sodann löschst benutze zum Erstellen entweder die Funktion tmpfile() oder tempnam().

tmpfile() stellt Dir eine Ressource („Dateizeiger“, a.k.a. „FileHandler“) bereit, in die Du schreiben und aus der Du nach einem rewind() auch wieder lesen kannst. Beides macht man aus Performancegründen „eher sehr selten“ in einem Skript.

tempnam() eine temporäre Datei. Nimm das, falls Du da wirklich PHP-Code zur Laufzeit generieren und durch das includen ausführen willst.

Ach so. Bei tmpfile() kommt die Müllabfuhr wenn das Skript beendet oder die ressorce mit fclose() geschlossen wird. Nimmst Du tempnam() musst Du die selbst zum Wertstoffhof bringen (unlink()).

(2) Falls das ein Rätsel ist:

Die Datei wurde zwischenzeitlich gelöscht oder ist auf einem Dateisystem, welches zwischenzeitlich nicht mehr erreichbar ist.

freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar
freiwillig, öffentlich sichtbar

Ihre Identität in einem Cookie zu speichern erlaubt es Ihnen, Ihre Beiträge zu editieren. Außerdem müssen Sie dann bei neuen Beiträgen nicht mehr die Felder Name, E-Mail und Homepage ausfüllen.

abbrechen