Thumbnail wird nicht generiert.

Alles, was PHP betrifft, kann hier besprochen werden.

Thumbnail wird nicht generiert.

Postby stony2k » 12. March 2006 14:34

Ich habe einen Windows VPS mit Win 2k3.

Auf unserem alten Web Packet hat die Erstellung von Thumbnails noch funktioniert.

Ich habe mal eine Datei erstellt mit phpinfo() und am ende nochmal var_dump(gd_info()), damit man sich das Ganze mal ansehen kann.

aktueller Server:
http://www.mendonis.de/test.php

altes Webpacket:
http://wp1025784.wp044.webpack.hosteurope.de/

Selbes Script, wie auf dem Webpacket, nur dass kein Thumbnail generiert wird:

Code: Select all
<?php // BIDLVERKLEINERUNG FALLS NOTWENDIG
if ($sizeinfo[0]>$max_w OR $sizeinfo[1]>$max_h) {
    if ($sizeinfo[0]>$sizeinfo[1]) {
       // BILD 4:3
       $quotient = $sizeinfo[0] / $max_w;
       $new_h = $sizeinfo[1] / $quotient;
       $image1 = imagecreatetruecolor($max_w,$new_h);
       $image = imagecreatefromjpeg($new_path);
       imageCopyResized($image1,$image,0,0,0,0,$max_w,$new_h,$sizeinfo[0],$sizeinfo[1]);
       imagejpeg($image1,$new_path,80);
   }
   
   elseif ($sizeinfo[1]>$sizeinfo[0]) {
       // BILD HOCHKANNT
       $quotient = $sizeinfo[1] / $max_h;
       $new_w = $sizeinfo[1] / $quotient;
       $image1 = imagecreatetruecolor($new_w,$max_h);
       $image = imagecreatefromjpeg($new_path);
       imageCopyResized($image1,$image,0,0,0,0,$max_w,$new_h,$sizeinfo[0],$sizeinfo[1]);
       imagejpeg($image1,$new_path,80);
   }
} // GRÖßE PASST JETZT
$sizeinfo = GetImageSize ($new_path,$sizeinfo);
//THUMB HOCHKANNT
if ($sizeinfo[1]>$sizeinfo[0]) {
       $quotient = $sizeinfo[1] / $thumb_max_h;
       $thumb_new_w = $sizeinfo[1] / $quotient;
       $image1 = imagecreatetruecolor($thumb_new_w,$thumb_max_h);
       $image = imagecreatefromjpeg($new_path);
       imageCopyResized($image1,$image,0,0,0,0,$thumb_new_w,$thumb_max_h,$sizeinfo[0],$sizeinfo[1]);
       imagejpeg($image1,$thumb_path,80);
       //Da Windows, chmod unnötig     
       //chmod ($thumb_path, 0777);
}
       
// THUMB 4:3
if ($sizeinfo[0]>$sizeinfo[1]) {
       $quotient = $sizeinfo[0] / $thumb_max_w;
       $thumb_new_h = $sizeinfo[1] / $quotient;
       $image1 = imagecreatetruecolor($thumb_max_w,$thumb_new_h);
       $image = imagecreatefromjpeg($new_path);
       imageCopyResized($image1,$image,0,0,0,0,$thumb_max_w,$thumb_new_h,$sizeinfo[0],$sizeinfo[1]);
       imagejpeg($image1,$thumb_path,80);
       //Da Windows, chmod unnötig     
       //chmod ($thumb_path, 0777);


Ich frage mich, wieso kein Thumbnail generiert wird.
Zu nennen wäre noch, dass das Webpacket auf Linux läuft. Aber der PHP Code müsste unter Windows gleichmaßen laufen.
stony2k
 
Posts: 2
Joined: 12. March 2006 14:28

Postby Wiedmann » 12. March 2006 15:18

Ich frage mich, wieso kein Thumbnail generiert wird.

Wie wär's mit Fehlermeldungen? Oder anders gesagt, wieso lässt sich niemand Fehlermeldungen anzeigen und ratet/vermutet lieber wenn was nicht tut?

Das Script ist aber insofern schon komisch, da du ein haufen Variablen benutzt, ohne dass diese irgendwo initialisiert (gesetzt) werden. So kann das Script nur zufällig auf Servern funktionieren wo "register_globals" zufällig "on" ist.

Schreib doch einfach am Anfang des Scriptes folgende 2 Zeilen rein und korrigiere alle angezeigten Meldungen:
Code: Select all
error_reporting(E_ALL);
ini_set('display_errors', '1');
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby stony2k » 13. March 2006 06:36

Es gab auch keine Fehlermeldungen oder Sonstiges.

Aber habe habe nun ein Script nach diesem Beispielgemacht und es funktioniert. Es lag wohl doch am Script selber :)
stony2k
 
Posts: 2
Joined: 12. March 2006 14:28

Postby Wiedmann » 13. March 2006 11:57

Es gab auch keine Fehlermeldungen oder Sonstiges

Das glaub ich dir nicht. Schon das erste "if" in Zeile 2 produziert eine Notice... (Wenn du wirkllich das Originalscript gepostet hast)

Aber habe habe nun ein Script nach diesem Beispiel gemacht und es funktioniert

Das ist die Hauptsache :-)

BTW:
Im PHP-Manual hättest du zu den Funktionen imagecopyresized() oder imagecopyresampled() auch fertige und funktionierende Beispiele gefunden.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby thorsin » 14. March 2006 15:41

also nur mal so als tipp....
anstatt son monsterscript zu benutzen könnte man auch einfach
Code: Select all
exec (convert -scale 150x150 quelldatei zieldatei);

machen, wenn imagemagick oder graphicsmagick installiert sind
User avatar
thorsin
 
Posts: 136
Joined: 05. March 2006 20:39


Return to PHP

Who is online

Users browsing this forum: No registered users and 15 guests