Thumbnails werden nicht erstellt
Patrick
- php
0 IntraWeb0 Sven Rautenberg0 claudio0 Tom
Hi
ich habe ein Problem.
undzwar habe ich ein Bilduploadscript was auch soweit super funktioniert.
Jedoch wenn ich ein Bild mit der grösse 2048x1024 oder so hochlade läd er das bild hoch aber erstellt kein thumb... ?!?
mit 1024x768 geht das ...
hier der Code:
$Originalgrafik = ImageCreateFromGIF($Grafikdatei);
$Thumbnailgrafik = ImageCreate($ThumbnailBreite, $ThumbnailHoehe);
$thumbnail = ImageCreate($ThumbnailBreite,$ThumbnailHoehe);
$thumbnail = ImageCreatetruecolor($ThumbnailBreite,$ThumbnailHoehe); ImageCopyResampled($thumbnail,$Originalgrafik,0,0,0,0,$ThumbnailBreite, $ThumbnailHoehe,$OriginalBreite,$OriginalHoehe);
imagepng($thumbnail, "testings/tn_".$dati);
weiß da jemand warum???
Hi
ich habe ein Problem.
undzwar habe ich ein Bilduploadscript was auch soweit super funktioniert.
Jedoch wenn ich ein Bild mit der grösse 2048x1024 oder so hochlade läd er das bild hoch aber erstellt kein thumb... ?!?
mit 1024x768 geht das ...hier der Code:
$Originalgrafik = ImageCreateFromGIF($Grafikdatei);
$Thumbnailgrafik = ImageCreate($ThumbnailBreite, $ThumbnailHoehe);
$thumbnail = ImageCreate($ThumbnailBreite,$ThumbnailHoehe);
hier überschreibst du doch $thumbnail oder?
$thumbnail = ImageCreatetruecolor($ThumbnailBreite,$ThumbnailHoehe); ImageCopyResampled($thumbnail,$Originalgrafik,0,0,0,0,$ThumbnailBreite, $ThumbnailHoehe,$OriginalBreite,$OriginalHoehe);
imagepng($thumbnail, "testings/tn_".$dati);weiß da jemand warum???
Ich habe mit diesem Zeug nicht viel Ahnung, aber ich würde
versuchen,Breite und Höhe durch 2 zu teilen (oder 3?) und
es nochmal versuchen, vielleicht ist eine so gute Auflösung
im Originalscript nicht vorgesehen gewesen?
gruß
aus dem Allgäu
Dieter
Moin!
Jedoch wenn ich ein Bild mit der grösse 2048x1024 oder so hochlade läd er das bild hoch aber erstellt kein thumb... ?!?
mit 1024x768 geht das ...
Dein Riesenbild ist sehr wahrscheinlich zu groß für den Speicherbereich, den PHP jeweils maximal nutzen darf. Rechne doch mal aus: Die gdlib benötigt unkomprimierte Bilder, also werden 2048*1024*3 Byte im Speicher benötigt - genauer gesagt 6 Megabyte. Das kann schon zuviel sein.
- Sven Rautenberg
N'Abend,
ich könnte mir vorstellen, dass wenn es ab einer bestimmten Bildgrösse nicht funzt, es an folgenden Parametern (IMHO in dieser Reihenfolge *einzeln!* vergrössern und kucken, ob es geht) liegen kann:
max_execution_time = ;erhöhen, die Berechnungen sind zeitaufwendig, vor allem mit ImageCopyResampled an Stelle von ImageCopyResized. Trotzdem sollte man, wie Du vorgeschlagen hast, wo möglich ImageCopyResampled verwenden, das Resultat ist einfach _viel_ besser.
memory_limit = ;erhöhen, das selbe gilt für den Speicher: gifs werden AFAIK pixel für pixel gerendert und berechnet (nicht schlagen, wenn ich da falsch liege)
upload_max_filesize = ;eher nicht, da der upload ja offensichtlich funzt
Wenn die Änderungen in php.ini oder httpd.conf gemacht werden: nicht vergessen, bei mod_php den Indianer neu zu starten (als CGI nicht nötig). Ob diese Parameter auch in einer .htaccess-Datei gesetzt werden dürfen, weiss ich nicht und war jetzt auch gerade zu faul, das nachzusehen, sorry.
Gruss claudio
Hello,
ich habe ein Problem.
undzwar habe ich ein Bilduploadscript was auch soweit super funktioniert.
Jedoch wenn ich ein Bild mit der grösse 2048x1024 oder so hochlade läd er das bild hoch aber erstellt kein thumb... ?!?
Da bist Du sicher, dass das File auch ankommt, also
$_FILES[$userfeldname]['error'] === 0
ist?
Außerdem wird der Einwand von Sven zutreffen.
Welche PHP-Version ist denn im Einsatz und welche Paramter werden noch an das Script übergeben?
Die PHP Version < 5.x legt noch immer alle Globalen Variablen redundant unter dem alten Namen und unter dem neuen der Superglobals an. Die typische Speichergrenze von 8MB doer 10MB wird dann schnell überschritten.
Das sollte aber bei eingeschalteten Fehlermeldungen eigentlich midestens eine Warnung geben.
Du könntest uns allen ja mal einen Gefallen tun, und die eingestellten Speichergrenzen mitteilen, das Bild dann Stück für Stück kleiner machen und austesten, bis zu welcher Grenze die Funktionen noch ausgeführt werden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom