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
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
PHP
- <!--Bilderseite-->
- <?php
- echo '<script src="' . $jspfad . 'jquery-1.7.2.min.js"></script>';
- echo '<script src="' . $jspfad . 'lightbox.js"></script>';
- // Erzeugen der Thumbs wenn noch keine da
- $filetypes = array("jpg"); // Dateiendung
- $img_width = 200; // max. Größe in x-Richtung
- $img_height = 113; // max. Größe in y-Richtung
- $i = 0; // Zähler
- //$dir ==> kommt von Startseite Ordner wo die Bilder liegen oder mit $_GET['dir'] aus URL ermitteln
- // Handle starten
- $handle = openDir($dir);
- // DIR lesen
- while ($filename = readdir($handle))
- {
- // Return-Buttons ignorieren
- if($filename != ".." && $filename != ".")
- {
- // Nur auf Dateien mit Endung jpg anwenden
- $teile = explode(".",$filename);
- $x = sizeof($teile)-1;
- if(in_array(strtolower($teile[$x]),$filetypes))
- {
- // Bilder mit Prefix "th_" nicht behandeln
- if(substr($filename,0,3) != "th_")
- {
- // Deklariere Adresse für Link
- $ziel = $dir."/".$filename;
- // Deklariere Adresse zum Thumbnail
- $thumb = $dir."/th_".$filename;
- // Prüfe, ob Thumbnail schon existiert
- if(!file_exists($thumb))
- {
- // Wenn nicht, dannThumbnail erzeugen
- $image = imagecreatefromjpeg($ziel);
- // Berechnung der Bildgröße mit den Daten von oben
- list($src_width, $src_height) = getimagesize($ziel);
- if($src_width >= $src_height)
- {
- $new_image_width = $img_width;
- $new_image_height = $src_height * $img_width / $src_width;
- }
- if($src_width < $src_height)
- {
- $new_image_height = $img_width;
- $new_image_width = $src_width * $img_height / $src_height;
- }
- // Aufbau neues Bild
- $new_image = imagecreatetruecolor($new_image_width, $new_image_height);
- imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_image_width,$new_image_height, $src_width, $src_height);
- imagejpeg($new_image, $thumb, 100);
- // leert den Speicher sonst Limit von 16MB Ueberschritten
- unset($image);}
- } } } }
- // handle schließen
- closeDir($handle);
- // Aufbau der Tabelle mit den Thumbs
- // Variable für die Tabelle
- $spalten = 4; // Anzahl der Spalten in der Übersichtstabelle
- if(file_exists($bilddatei)) {
- /* erstellt die Arrys und damit die Bildbeschreibung */
- $d = array(array("","")); //nur noch zwei Werte in bild.txt
- //öffnen der Bilddatei
- $f=fopen($bilddatei,'r');
- if($f) {
- while (!feof($f)) {
- $test=fgetcsv($f,32000,chr(167));
- if($test[0]!=""){array_push($d,$test);}
- }
- }
- fclose($f);
- /* Anzahl der Bilder */
- $max=count($d)-1;
- echo '<h2>Bilder</h2>';
- echo '<table id="table_bilder" class="bild_mitte">';
- // Erstellt den Ersten Teil der Tabelle
- $row=floor($max / $spalten);
- if ($row<1){$bild=0;};
- for ($i=0;$i<$row;$i++){ //Tabellenzeile
- echo '<tr>';
- for ($j=1;$j<=$spalten;$j++){ // Tabellenzelle
- $bild=$spalten*$i+$j;
- $name=rawurlencode($d[$bild][0]); //erster Wert in der Bilddatei
- $beschreibung=$d[$bild][1]; //zweiter Wert in Bilddatei
- $beschreibung=htmlentities($beschreibung); //schreibt alle Umlaute
- echo '<td>';
- echo '<a href="'.$dir.'/'.$name.'.jpg" class="lightbox[gruppe1]" title="'.$beschreibung.'"><img src="'.$dir.'/th_'.$name.'.jpg" alt="'.$beschreibung.'"></a>';
- echo '</td>';}
- echo '</tr>';}
- // Erstellt den Zweiten Teil letzte Zeile der Tabelle
- if ($bild<$max){
- $rest=$spalten-$max+$bild;
- echo '<tr>';
- for ($bild=$bild+1;$bild<=$max;$bild++){
- $name=rawurlencode($d[$bild][0]); //erster Wert in der Bilddatei
- $beschreibung=$d[$bild][1]; //zweiter Wert in Bilddatei
- echo '<td>';
- echo '<a href="'.$dir.'/'.$name.'.jpg" class="lightbox[gruppe1]" title="'.$beschreibung.'"><img src="'.$dir.'/th_'.$name.'.jpg" alt="'.$beschreibung.'"></a>';
- echo '</td>';}
- echo '<td colspan="'.$rest.'">'; //leere Zelle umfaßt restliche Zellen
- echo '</td>';
- echo '</tr>';}
- echo '</table>';
- }; // Ende von if(file_exists($bilddatei))
- ?>
Gruß