Trying to access array offset on value of type bool -- wieso?

  • Hallo nach Umstieg auf php8 bekomme ich eine Fehlermeldung mit falschen BOOL Wert, irgendwie komme ich da nicht weiter weil dieser Fehler auch nicht überall auftaucht.

    Fehlermeldung

    Warning: Trying to access array offset on value of type bool in /var/www/BENUTZER/html/SEITE1/580-system/php/#bilder_gallerie.php on line 70

    Zeile 70 beinhaltet das

    Code
    if($test[0]!=""){array_push($d,$test);}

    Der Quellcode steht in einer separaten Datei die nach Bedarf eingebunden wird, und auf einigen Seiten geht das auch ohne der Fehlermeldung. Die Funktion an sich wird nicht beeinträchtigt also am Ende wird die Bildseite erstellt. Aber was ist an der Zeile falsch das diese Fehlermeldung entsteht.

    ganze Datei

    Gruß

  • In der Doku für fgetcsv:

    https://www.php.net/manual/de/function.fgetcsv.php

    lese ich:

    Zitat

    fgetcsv() gibt null zurück, wenn ein ungültiger handle übergeben wurde oder false bei anderen Fehlern einschließlich Dateiende.

    Da deine Fehlermeldung lautet:

    Zitat

    Trying to access array offset on value of type bool

    trifft offenbar der zweite Fall zu, andere Fehler einschl. Dateiende. D. h. irgend etwas ist mit dieser Datei nicht in Ordnung. Das erklärt auch, dass der Fehler nicht immer auftritt, denn wenn das Parsen fehlerfrei ist, tritt er nicht auf.

  • Das ganze Script ist viel zu kompliziert. Warum nicht mit glob die Jpg-Dateien ermitteln. da kann man sich das ganze Gehampel mit readdir und Überprüfung der Extension sparen.


    Und wie die geschweiften Klammern positioniert sind, halte ich für total unübersichtlich.

  • Danke für die Rückmeldungen, werde mich der Sache etwas intensiver widmen müssen. Der Code ist bestimmt schon 12Jahre alt und den hab ich mir irgendwo aus Stücken zusammen kopiert und bis jetzt ging es einigermaßen.

    PHP8 ist aber etwas strenger mit der Auslegung und diverse Fehler traten im Projekt auf die ich erst mal beseitigt habe.

    Jetzt fehlt nur noch diese Bildergalerie und die Denkanstöße werd ich mal versuchen umzusetzen.

    Gruß und Danke

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!