# Thumb-Erzeugung



## tittli (14. Oktober 2004)

Hallo
Hab da mal was versucht...das Script stammt aus einem Buch, aber irgendwie funktioniert da etwas nicht. 
Die Thumbnails werden nicht angezeigt (nur so quadratische platzhalter).

Wenn ich auf diese Platzhalter klicke, dann kommt wie geplant das grosse Bild, das funktioniert einwandfrei.
Hier mal der Code:

*imgs.php*


```
<html>
 <head>
  <title>Bildvorschau</title>
 </head>
 <body bgcolor="#FFFFFF">
  <?php
   $verz = dir(".");
   while ($datei = $verz->read())
   	{
         if (eregi(".jpg$", $datei))
         	{
                 echo ("<a href=\"$datei\">");
                 echo ("<img hspace=10 vspace=10");
                 echo ("src=\"thumb.php?image=$datei\">");
                 echo ("</a>\n");
                 }
         }
  ?>
 </body>
</html>
```

*thumb.php*


```
<?php
 header("Content-type: image/jpeg");
 $scale = 3;
 $size = getimagesize($image);
 $width = round($size[0]/$scale);
 $height = round($size[1]/$scale);
 $src = imagecreatefromjpeg($image);
 $dest = imagecrerate($width,$height);
 imagecopyresized($dest,$src,0,0,0,0,$width,$height,$size[0],$size[1]);
 imagejpeg($dest);
 imagedestroy($dest);
 imagedestroy($src);
?>
```

Was stimmt daran nicht bzw. wo liegt der Fehler?

danke für eure Mühe!
gruss


----------



## BSA (14. Oktober 2004)

Achte darauf das deine PHP Version aktuell genug ist und die GD Libary aktiviert ist (Modul aktivieren in der php.ini --> wenn du es lokal testest)


----------



## tittli (14. Oktober 2004)

hmm...nach phpinfo() ist die GD-Bibliothek aktiviert...und ich habe im Moment PHP 5 laufen. Kann es damit Probleme geben?
gruss


----------



## tittli (14. Oktober 2004)

habe das ganze auch mit PHP 4 getestet...da besteht das gleiche Problem...niemand, der mir helfen könnte?
danke und gruss


----------



## tittli (14. Oktober 2004)

wirklich niemand der mir helfen könnte? wäre euch sehr dankbar!
gruss


----------



## Mamphil (14. Oktober 2004)

Hi!

Probier mal, nur das Thumbnail-Bild anzuzeigen...

Mamphil


----------



## tittli (14. Oktober 2004)

nein, geht auch nicht...
also habe folgendes verändert:


```
<html>
 <head>
  <title>Bildvorschau</title>
 </head>
 <body bgcolor="#FFFFFF">
  <?php
   $verz = dir(".");
   while ($datei = $verz->read())
   	{
         if (eregi(".jpg$", $datei))
         	{
                 //echo ("<a href=\"$datei\">");
                 echo ("<img hspace=10 vspace=10");
                 echo ("src=\"thumb.php?image=$datei\">");
                 //echo ("</a>\n");
                 }
         }
  ?>
 </body>
</html>
```

aber es kommen immer noch diese Platzhalter...

danke trotzdem
gruss


----------



## Mamphil (14. Oktober 2004)

Nein, ich meine, dass du in das Adressfeld im Browser nur die Adresse des Bildes kopierst!

Eventuell werden dann irgendwelche PHP-Fehler angezeigt 

Mamphil


----------



## mAu (14. Oktober 2004)

```
$dest = imagecrerate($width,$height);
```
*falsch !*


```
$dest = imagecreate($width,$height);
```
*richtig !*

mfg mAu


----------



## tittli (14. Oktober 2004)

ou...dummer Fehler...funktioniert aber immer noch nicht!
danke trotzdem!

@ memphil: nein es wird keine Fehlermeldung angezeigt!

gruss


----------



## tittli (14. Oktober 2004)

ok...hab das ganze nochmal geschrieben...und es funktioniert sogar...was ich aber nicht verstehe, ist:
Was ist der Unterschied zwischen: 

```
<html>
 <head>
  <title>Bildvorschau</title>
 </head>
 <body bgcolor="#000000">
  <?php
   $verz = dir(".");
   while ($datei = $verz->read())
   	{
         if (eregi(".jpg$", $datei))
         	{
                 echo ("<a href=\"$datei\">");
                 echo ("<img hspace=10 vspace=10");
                 echo ("src=\"thumb.php?image=$datei\">");
                 echo ("</a>\n");
                 }
         }
  ?>
 </body>
</html>
```

und


```
<HTML><HEAD><TITLE>Bildvorschau</TITLE></HEAD>
<BODY BGCOLOR="#000000">
<?php
  $verz = dir(".");
  while ($datei = $verz->read()) {
    if (eregi(".jpg$", $datei)) {
      echo("<a href=\"$datei\">");
      echo("<img hspace=10 vspace=10 ");
      echo("src=\"thumb.php?image=$datei\">");
      echo("</a>\n");
    }
  }
?>
</BODY></HTML>
```

?...das erste funktioniert nämlich, das zweite nicht!

Und noch ein Problem: Die Qualität der Thumbs ist sehr schlecht...die Farben werden nicht korrekt dargestellt...woran kann das liegen?

danke und gruss


----------



## Mamphil (15. Oktober 2004)

Hi!

Ich heiße M*a*mphil 

Wenn das erste funktioniert und das zweite nicht, dann ist die Datei thumb.php ja völlig richtig.
In Variante 1 fehlt hinter dem vspace=10 bzw. vor dem src= die Lücke Wieder mal ein doofer Fehler *grrr*

Probier mal statt imagecopyresized die Funktion imagecopyresampled aus.

Mamphil


----------

