Hallo, ich habe folgendes Script, was auch funktioniert solange in der Datenbank nur ein Eintrag ist, sobald zwei Einträge in der Datenbank sind, wird weiterhin nur das erste Bild/thumnail angezeigt und es kommt folgende Fehlermeldung:
Fatal error: Cannot redeclare thumb_popup() (previously declared in /www/htdocs/v109937/media/snapshots.php:67) in /www/htdocs/v109937/media/snapshots.php on line 67
Line 67 ist folgende:
Der PHP Code ist folgender:
Kann mir da einer weiterhelfen?
Fatal error: Cannot redeclare thumb_popup() (previously declared in /www/htdocs/v109937/media/snapshots.php:67) in /www/htdocs/v109937/media/snapshots.php on line 67
Line 67 ist folgende:
PHP-Code:
function thumb_popup($file, $save, $width, $height, $prop = TRUE) {
Der PHP Code ist folgender:
PHP-Code:
<?php
include("admin/dbconnect.php");
include("admin/config.php");
$result = mysql_query("SELECT id, foto FROM $tablemedia WHERE
kategorie = 'snapshot' ORDER BY id") or die(mysql_error());
while($row = mysql_fetch_array($result))
{
function thumb_popup($file, $save, $width, $height, $prop = TRUE) {
// Requires GD-Lib > 2.0
// Ist $prop=TRUE, so werden die Proportionen des Bildes
// auch im Thumbnail eingehalten
if(!function_exists("show_popup")) {
function show_popup($original, $thumb) {
$infos = @getimagesize($original);
$w = $infos[0] + 20;
$h = $infos[1] + 25;
$infos_th = @getimagesize($thumb);
$link = "<a href=\"javascript:void(0);\" onclick=\"window.open
('".$original."', 'window".md5(microtime())."', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0,
resizable=1, width=".$w.", height=".$h.", left = 20, top = 20');\">";
$link .= "<img src=\"".$thumb."\" border=\"0\" ".$infos_th[3]."></a>\n";
return $link;
}
}
if(!file_exists($save) || @filemtime($thumb)< @filemtime($file)) {
@unlink($save);
$infos = @getimagesize($file);
if($prop) {
// Proportionen erhalten
$iWidth = $infos[0];
$iHeight = $infos[1];
$iRatioW = $width / $iWidth;
$iRatioH = $height / $iHeight;
if ($iRatioW < $iRatioH)
{
$iNewW = $iWidth * $iRatioW;
$iNewH = $iHeight * $iRatioW;
} else {
$iNewW = $iWidth * $iRatioH;
$iNewH = $iHeight * $iRatioH;
} // end if
} else {
// Strecken und Stauchen auf Größe
$iNewW = $width;
$iNewH = $height;
}
if($infos[2] == 2) {
// Bild ist vom Typ jpg
$imgA = imagecreatefromjpeg($file);
$imgB = imagecreatetruecolor($iNewW,$iNewH);
imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
$iNewH, $infos[0], $infos[1]);
imagejpeg($imgB, $save);
return show_popup($file, $save);
} elseif($infos[2] == 3) {
// Bild ist vom Typ png
$imgA = imagecreatefrompng($file);
$imgB = imagecreatetruecolor($iNewW, $iNewH);
imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
$iNewH, $infos[0], $infos[1]);
imagepng($imgB, $save);
return show_popup($file, $save);
} else {
return FALSE;
}
} else {
return show_popup($file, $save);
}
}
// Quelldatei
$from = "./".$row['foto'];
// Ziel 1+2
$to1 = "./th/".$row['foto'];
//$to2 = "./th/thumb_b.jpg";
// Funktionsaufruf mit Einbehaltung der Proportionen
echo thumb_popup($from, $to1, 80, 80, TRUE);
// Funktionsaufruf ohne Einbehaltung der Proportionen
//echo thumb_popup($from, $to2, 150, 150, FALSE);
$i++; // setzt $i bei jedem bild um 1 höher
if ($i>4)
{
echo "<br>"; // wenn mehr als 4 bilder in einer zeile sind gibt es ein zeilenumbruch
$i=0; // setzt $i wieder auf 0
}
}
?>
Kommentar