Image und Thumb Problem

Zero2000

Erfahrenes Mitglied
Hallo

Ich habe das Problem, dass ich keine Thumbs angezeigt bekomme.
Ich habe 2 Dateien. In der ersten lege ich das Layout fest und lese den Ordner aus.
In der 2. Datei zeige ich die Thumbs an.
Ich weiß nicht woran es liegt das keine kleinen Bildchen angezeigt werden, vielleicht kann mal jemand ein Auge drauf werfen
Datei1
PHP:
<html>
<head>
  <title>Bildergalerie</title>
  <style type="text/css">
  <!--
  html, body { background-color:#EEF2FB; color:#990000; margin:0px; }
  .thumbs { background-color:#FFFFFF; height:120px; overflow:scroll; white-space:nowrap; padding:10; width:100%; }
  .vorschau { border:1px solid #000000; cursor:pointer; }
  .anzeige { text-align:center; }
  #bild_anzeige { border:1px solid #000000; }
  /* blau #6375D6  */
  // -->
  </style>
  <script type="text/javascript">
  <!--
  function bild_anzeigen(bild)
      {
      document.getElementById("bild_anzeige").src = "vorlage/" + bild;
      }
  //-->
  </script>
</head>
<body>
<div class="thumbs">
  <?php
  $fp = opendir("vorlage");  // Ordner in dem die Bilder sind
  while ( $datei = readdir($fp) )
      {
    if ( $datei != "." AND $datei != ".." ) {
        if ( empty($erstebild) ) { $erstebild = $datei; }
        ?>
        <img class="vorschau" src="bilder_auslesen_3_thumbs.php?pic=<?=$datei?>" onclick="bild_anzeigen('<?=$datei?>')" />
        <?
        echo "\n";
        }
    }
  ?>
</div>
<div class="anzeige">
  <img id="bild_anzeige" src="vorlage/<?=$erstebild?>" alt="" border="0">
</div>
</body>
</html>
Datei2
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<?PHP
$verz = "vorlage";
$_GET["pic"]
$info = getimagesize($verz.$pic);
switch($info[2])
    {
    case 1: $quellbild = imagecreatefromgif($verz.$pic); break;
    case 2: $quellbild = imagecreatefromjpeg($verz.$pic); break;
    }

if ( $info[0] < $info[1] )
    {
    $breiteneu = round($info[0]/$info[1]*80);
    $hoeheneu = 80;
    $xneu = (80-$breiteneu)/2;
    $yneu = 0;
    }
else
    {
    $breiteneu = 80;
    $hoeheneu = round($info[1]/$info[0]*80);
    $xneu = 0;
    $yneu = (80-$hoeheneu)/2;
    }

$bildneu = imagecreate(80, 80);
$weiss = imagecolorallocate($bildneu, 255, 255, 255);
imagecopyresized($bildneu, $quellbild, $xneu, $yneu, 0, 0, $breiteneu,$hoeheneu, $info[0], $info[1]);

imagejpeg($bildneu);
imagedestroy($bildneu);
imagedestroy($quellbild);
?>
</body>
</html>
Vielen Dank im voraus.

Maik
 
Tja leider geht es dann auch nicht...
Habs jetzt so stehen geht aber auch nicht...
Ich bin mit meinem Latein am Ende :confused:
PHP:
<?PHP
//$verz = 'vorlage';
$pic = $_GET["pic"]
$info = getimagesize("vorlage/".$pic);

MfG Maik
 
Ein Bild als .php darf keine Ausgabe ausser dem Bild enthalten!
D.h. dein <html><head> usw. sowie unten </body> und co müssen weg.

Dann musst die als image "kennzeichnen" durch diese Zeile VOR [phpf]imagejpeg[/phpf]:
PHP:
header("Content-type: image/jpeg");
 
Die HTML Tags hatte ich inzwischen schon entfernt. Habe nun mal die Zeile von Dir eingefügt aber gehen tut es trotzdem nicht. In der PHP-Info ist auch alles installiert und aktiviert (gdlib und so).
Die Datei sieht inzwischen so aus.
PHP:
<?PHP
$pic = $_GET["pic"]
$info = getimagesize("img/".$pic);
switch($info[2])
    {
    case 1: $quellbild = imagecreatefromgif("img/".$pic); 
	break;
    case 2: $quellbild = imagecreatefromjpeg("img/".$pic); 
	break;
    }

if ( $info[0] < $info[1] )
    {
    $breiteneu = round($info[0]/$info[1]*80);
    $hoeheneu = 80;
    $xneu = (80-$breiteneu)/2;
    $yneu = 0;
    }
else
    {
    $breiteneu = 80;
    $hoeheneu = round($info[1]/$info[0]*80);
    $xneu = 0;
    $yneu = (80-$hoeheneu)/2;
    }

$bildneu = imagecreate(80, 80);
$weiss = imagecolorallocate($bildneu, 255, 255, 255);
imagecopyresized($bildneu, $quellbild, $xneu, $yneu, 0, 0, $breiteneu,$hoeheneu, $info[0], $info[1]);

header("Content-type: image/jpeg"); 
imagejpeg($bildneu);
imagedestroy($bildneu);
imagedestroy($quellbild);
?>
Ich denke das der Fehler vielleicht in der ersten Datei liegt da dort der Aufruf zur thumbsdatei erfolgt.
Schau Dir doch mal Bitte die erste Datei nochmal an.

Wenn ich im Browser mir den Quelltext anzeigenlasse, dann sehen die Links so aus.
PHP:
<img class="vorschau" src="index_thumbs.php?pic=Image31002.jpg" onclick="bild_anzeigen('Image31002.jpg')" />
Ich denke da stimmt was nicht bei "src" oder?

MfG Maik
 
In der ersten Zeile fehlt ein Semikolon!
Ruf das doch mal so über den Browser auf - dann kannst du wenigstens sehen, ob das Script syntaktisch richtig ist.
 
Ruf mal die Datei im Browser direkt auf:
index_thumbs.php?pic=Image31002.jpg
und zeig die Ausgabe.

//Jaja, man sollte nicht aufs Klo zwischenrein :D
 
Zuletzt bearbeitet:
Moritz123 hat gesagt.:
Sollte das nicht vielleicht so lauten:
PHP:
$pic = $_GET["pic"];
$info = getimagesize($verz . "/" . $pic);
Zero2000 hat gesagt.:
Tja leider geht es dann auch nicht...
Habs jetzt so stehen geht aber auch nicht...
Also ein bisschen gründlichere Mitarbeit gehört zur Fehlersuche schon dazu, grrrr.
Ich habs vorausgesetzt und dann danach nicht mehr geschaut. *selberärger*
 
Zurück