Adam Antidot: Unerklärliches Problem mit Verarbeiten eingelesener Textdatei

Beitrag lesen

<?php
function dateiEinlesen ($datei)
{

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

Wenn du unterschiedliche Datentypen als Rückgabewert nutzt, dann solltest du bei PHP tunlichst den Typvergleich nutzen, !== und ===.

Genau genommen sollte man bei PHP niemals die einfachen Vergleiche != und == nutzen. Diese Ausgeburt der Hölle haut einem ohne Sinn und Verstand die Werte um die Ohren, bis man nicht mehr weiss, wo rinks und lechts ist, siehe http://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/#operators

$inhalt = dateiEinlesen ($seite);

// [1]

if ($inhalt != -1) // Datei wurde gefunden if ($inhalt != 0) // Datei ist nicht leer

Prüfe doch mal, ob, diese Vergleiche mit den drei bis fünftrillionen Möglichkeiten (deine Rückgabewerte 0, -1 sowie Text) das ergeben, was du erwartest.

$a = ($inhalt != -1); var_dump($a); $a = ($inhalt != 0); var_dump($a);