Error: Probleme mit der Funktion file()

Beitrag lesen

Danke für die Antwort,

ich habe Probleme mit der Funktion file(). Die löst keinen Error aus, wenn die Datei, oder das Verzeichnis ($file) nicht vorhanden sind.

… ganz so, wie die Doku zu file es sagt.

Emits an E_WARNING level error if the file does not exist.

Du solltest dir während der Entwicklung eines Skripts immer die Systemmeldungen, die PHP ausspuckt, anzeigen lassen. Das verschafft Klarheit über die Ursachen diverser Fehler, die sonst nur eine (teilweise) leere Ausgabe verursachen.

Schreibe dazu folgenden Code an den Anfang des Skripts (bei Arbeit mit Includes ins Hauptskript).

error_reporting(E_ALL);
ini_set('display_errors', 1);

Das display_errors habe ich jetzt (zum Testen) aktiviert. Error_reporting(E_ALL) hatte ich schon drin.

Der Pfad stimmt absichtlich nicht; es fehlt der führende Slash.

Ich bekomme jetzt die Bildschirmmeldung

Warning: file(var/log/apache2/example.com/access.log): failed to open stream: No such file or directory in /var/www/example.com/htdocs/log/index.php on line 65 Notice: Array to string conversion in /var/www/example.com/htdocs/log/index.php on line 67 Array

Da wird aber kein false zurückgegeben, sondern 'Array'

Das kriege ich auch nicht weg. Wo ist der Fehler?

Kann ich zwar nicht glauben, aber könnte das auch ein Bug in PHP sein? Ich kann da nirgendwo etwas finden, auch nicht in den Bemerkungen im Handbuch.