Patrick: Thumbnails werden nicht erstellt

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???

  1. 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

  2. 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

  3. 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

  4. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau