gollum1990
Neues Mitglied
Hallo liebes Forum,
habe ein Problem mit nem Thumbnail Script das will nicht:
Fehler:
Script:
habe ein Problem mit nem Thumbnail Script das will nicht:
Fehler:
Warning: Division by zero in /www/htdocs/v105259/thumbnail.php on line 130
Warning: Cannot modify header information - headers already sent by (output started at /www/htdocs/v105259/thumbnail.php:1) in /www/htdocs/v105259/thumbnail.php on line 87
Warning: imagejpeg(): supplied argument is not a valid Image resource in /www/htdocs/v105259/thumbnail.php on line 89
Script:
PHP:
<?php
function ImageLoad ($filename) {
/* Wächter: gibt 'false' zurück, wenn die Datei nicht existiert */
if (!file_exists ($filename)) {
return false;
}
/*
* GetImageSize ermittelt den Typ
* der Bilddatei
*/
$info = GetImageSize ($filename);
switch ($info[2]) {
/*
* 2 = JPG
*/
case 2:
return ImageCreateFromJPEG ($filename);
break;
/*
* 3 = PNG
*/
case 3:
return ImageCreateFromPNG ($filename);
break;
/*
* Bei nicht unterstützten Typen wird
* auch 'false' zurückgegeben
*/
default:
return false;
break;
}
}
function ImageResize ($image, $width=false, $height=false) {
/*
* Wächter: gibt $image zurück, wenn $width & $height
* beide nicht gesetzt sind
*/
if (!$width && !$height) {
return $image;
}
/*
* Ermitteln der jeweiligen Originalwerte für
* $width & $height, falls diese nicht gesetzt wurden
*/
$width = (($width) ? $width : ImageSX ($image));
$height = (($height) ? $height : ImageSY ($image));
/*
* Erzeugen eines leeren Bildes mit den neuen Maßen
*/
$tmpimg = ImageCreateTrueColor($width, $height);
/*
* Kopieren des Bildes in das neue Format
*/
ImageCopyResampled ( $tmpimg, $image, 0, 0, 0, 0,
$width, $height,
ImageSX ($image), ImageSY ($image));
/*
* Rückgabe des neuen Bildes
*/
return $tmpimg;
}
function Image ($image, $type='jpg', $filename=false) {
switch (strtolower ($type)) {
/*
* JPG
*/
case 'jpeg':
case 'jpg':
if ($filename) {
/* Speichern, wenn $filename gesetzt */
return ImageJPEG($image, $filename, 100);
} else {
/* Ausgabe */
ob_start();
header ("Content-type: image/jpg");
ob_end_flush();
return ImageJPEG($image, false, 100);
}
break;
/*
* PNG
*/
case 'png':
if ($filename) {
/* Speichern, wenn $filename gesetzt */
return ImageCreateFromPNG ($filename, $filename);
} else {
/* Ausgabe */
header ("Content-type: image/png");
return ImageCreateFromPNG ($filename);
}
break;
default:
return false;
break;
}
}
function ImageThumbnail ($image) {
/*
* Ermitteln der Abmessung des übergebenen Bildes
*/
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$maxsize = $_GET['w'];
/*
* Errechnen der neuen Maße, proportional zu $maxsize
*/
if ($width < $height) {
$maxsize = (($maxsize<=$height) ? $maxsize : $height);
$width = $maxsize/$height * $width;
$height = $maxsize;
} else {
$maxsize = (($maxsize<=$width) ? $maxsize : $width);
$height = $maxsize/$width * $height;
$width = $maxsize;
}
/*
* Verkleinern
*/
return ImageResize ($image, $width, $height);
}
$path = "/dateien/bilder/";
$pic = $_GET['img'];
$image = ImageLoad ($path.$pic);
$image = ImageThumbnail ($image);
Image ($image);
?>