PHP-Freund: Probleme mit der Funktion file()

Beitrag lesen

Hallo RolfB,

nee, ein PHP Bug ist das bestimmt nicht. Die Sprache hat sicherlich Bugs, aber nicht an so prominenter Stelle. Welche PHP Version genau verwendest Du denn? Im Zweifelsfall bau

Ich denke schon, dass es ein Bug sein könnte.
Ich habe das eben mal selber audprobiert.

Da wird der Fehler einfach nicht durch die nächste Schicht nach außen durchgereicht. Ich teste jetzt mal ein paar der anderen Bequemfunktionen, wie z.B. file_get_contents().

Mein Testcode. Ich habe den soweit von Error und Auge übernommen.

<?php  

header("Content-Type: text/plain; charset=utf8");
error_reporting(E_ALL);
ini_set('display_errors', 1);

/* Datei ist NICHT vorhanden */
$file = '/var/www/html/log/access.log.1';

if (false === ($loglines = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES)))
{
    exit (error_get_last());
}

print_r($loglines);

?>

Antwort bei falschem Dateinamen lautet

<br />
<b>Warning</b>:  file(/var/www/html/log/access.log.1): failed to open stream: No such file or directory in <b>/var/www/html/test/file-test.php</b> on line <b>9</b><br />
<br />
<b>Notice</b>:  Array to string conversion in <b>/var/www/html/test/file-test.php</b> on line <b>11</b><br />
Array

Der Zugriffsfehler wird scheinbar noch detektiert, aber die Funktion wird dann nicht mit false als Rückgabewert abgebrochen. Da lügt das Manual leider!

Grüße aus Duderstadt PHP-Freund