Hallo liebe Gemeinde,
ich habe ein kleines Problem mit der Bilbearbeitung "getimagesize".
Ich hatte mir 2013 mal ein kleines Kochbuch/ Rezeptsammlung gebaut und da war ja noch PHP 5 aktuell. Nun hab ich das ganze mal wieder ausgegraben, da ich in meinem lokalen Netzwerk einen Server mit installiert habe mit php8.2.
Ich habe die alte Website mit dorthin übertragen und nun sind einige Probleme aufgetreten. Kleinere Bugs wie fehlende "()" oder das php hinter dem ? für include konnte ich schon entfernen. Allerdings komme ich bei "getimagesize" einfach nicht weiter.
Ein Stück Code um Fehler anzuzeigen hab ich schon eingesetzt aber irgend wie finde ich keine Lösung über google.
Kann mir da jemand helfen, gab es da in den PHP Versionen Änderungen?
Die DB ist erreichbar und die von 2013 gespeicherten Rezepte kann ich auch aufrufen aber keine eintragen.
Danke schonmal für Eure Hilfe
Gruß Matze
ich habe ein kleines Problem mit der Bilbearbeitung "getimagesize".
Ich hatte mir 2013 mal ein kleines Kochbuch/ Rezeptsammlung gebaut und da war ja noch PHP 5 aktuell. Nun hab ich das ganze mal wieder ausgegraben, da ich in meinem lokalen Netzwerk einen Server mit installiert habe mit php8.2.
Ich habe die alte Website mit dorthin übertragen und nun sind einige Probleme aufgetreten. Kleinere Bugs wie fehlende "()" oder das php hinter dem ? für include konnte ich schon entfernen. Allerdings komme ich bei "getimagesize" einfach nicht weiter.
Ein Stück Code um Fehler anzuzeigen hab ich schon eingesetzt aber irgend wie finde ich keine Lösung über google.
PHP-Code:
<?PHP
ini_set('display_errors', 1);
function resize($inputFilename, $new_side)
{
$imagedata = getimagesize($inputFilename);
$w = $imagedata[0];
$h = $imagedata[1];
if ($h > $w) {
$new_w = ($new_side / $h) * $w;
$new_h = $new_side;
} else {
$new_h = ($new_side / $w) * $h;
$new_w = $new_side;
}
$im2 = ImageCreateTrueColor($new_w, $new_h);
$image = ImageCreateFromJpeg($inputFilename);
imagecopyResampled ($im2, $image, 0, 0, 0, 0, $new_w, $new_h, $imagedata[0], $imagedata[1]);
return $im2;
}
$error = 0;
$datei = $_FILES["file"]["tmp_name"];
$datein = $_FILES["file"]["name"];
$dateiendung = strtolower(substr($datein, strlen($datein)-4, 4));
if($dateiendung != ".jpg") $error = 1;
$dimension = getimagesize($datei);
$breite = $dimension[0];
$hoehe = $dimension[1];
if($breite < 100 OR $hoehe < 100) $error = 2;
if($breite > 1000 OR $hoehe > 1000) $error = 3;
if(!$error)
{
$dateiname_neu = uniqid("").$dateiendung;
$bild_normal = resize($datei, 250);
$bild_klein = resize($datei, 65);
imagejpeg($bild_normal, "bildup/big/".$dateiname_neu);
imagejpeg($bild_klein, "bildup/thumb/".$dateiname_neu);
chmod("bildup/big/".$dateiname_neu, 0644);
chmod("bildup/thumb/".$dateiname_neu, 07644);
$filename = "bildup/big/". $dateiname_neu;
$filename1 = "bildup/thumb/". $dateiname_neu;
echo "";
}
else
{
switch($error)
{
case 1:
echo "Sie müssen eine JPG-Datei hochladen!";
break;
case 2:
echo "Das Bild muss mindestens 100x100px groß sein!";
break;
case 3:
echo "Das Bild darf maximal 1000x1000px groß sein!";
break;
}
}
Die DB ist erreichbar und die von 2013 gespeicherten Rezepte kann ich auch aufrufen aber keine eintragen.
Danke schonmal für Eure Hilfe
Gruß Matze
Kommentar