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))
?>
Alles anzeigen
Gruß