Thumbnail erzeugen ohne speichern

BenschM@ster

Mitglied
Abend allerseits!
Ich habe vor Thumbnails auf dem Server zu erstellen und auf der Website anzuzeigen und zwar ohne das ganze zu speichern.
Tutorials wie man das ganze mit dem Zwischenspeichern auf dem Server macht finde ich zu hauf, aber ohne die Speicherfunktion ist irgendwie nichts zu finden.

Wie ist das möglich?

Vielen Dank,
Ben
 
Dann gib doch das Bild einfach mit einer PHP Datei im src-Attribut an. Fertisch... Dann wird das Bild immer wieder erstellt, wenn man auf die Seite geht.
 
Wenns aber wirklich viele Bilder sind und viele Zugriffe werden, dann zwingst du damit deinen Server sehr schnell in die Knie. Also lieber cachen...

Ansonsten, wie mein Vorredner schon gesagt hat, das Thumbnail über eine .php Datei im src Attribut laden und in der PHP Datei das Thumbnails (jedesmal neu) generieren:

PHP:
<?php

//Natürlich den Bildtyp richtig angeben
header('Content-Type: image/jpg');

//Und hier dein Bild laden, verkleinern und printen

?>

Der PHP Datei übergibst du dann natürlich per GET die ID oder den Namen des zu "verthumbnailenden" Bildes ;)
 
Die Grafikfunktionen sind aber recht kostenintensiv. Daher solltest du gut abwägen, ob es sich wirklich lohnt, die Grafiken bei jedem Aufruf neu zu generieren.
 
Morgen,
vielen Dank für eure Hilfe.
Mein einziges Problem war das erstellen des Bildinhaltes ohne es zu speichern. Ist aber unfassbar einfach und Kompakt der Code:

PHP:
<?php
	$testdatei = "./testordner/test.jpg";
	$size      = GetImageSize($testdatei);
	$new_image = imagecreatetruecolor(200,200);
	$old_image = ImageCreateFromJpeg($testdatei);

	ImageCopyResized($new_image, $old_image,0 , 0, 0, 0, 200, 200, $size[0], $size[1]);

        header("Content-type: image/jpeg");
        ImageJpeg($new_image);

?>

fertig...
Ist es wirklich sehr kritisch Bilder in der Größe von ca. 150px Breite auf 100px Breite live zu verkleinern?
Wollte eigtl. nicht alle Dateien doppelt abspeichern, aber wenn das die effizientere Methode ist wäre natürlich das die erste Wahl.

Vielen Dank!
Gruß,
Ben
 
Die Bilder zu speichern ist auf jedenfall die bessere Methode, vor allem bei vielen Zugriffen. Und wegen den paar bytes für ein Thumbnail mehr würde ich mir keine Sorgen machen, ist besser für den Server (egal wie groß oder klein die Bilder sind) und den User, denn ob der Server das Bild laden, verkleiner und dann an den Client schicken oder einfach nur das vorgerenderte Thumbnail abgeben muss ist auch ein Zeitunterschied und wenn der Server stark belastet ist, geht das in die Sekunden.
Ausserdem wäre das nicht Shared Hosting...

Naja, du siehst... lieber Thumbnail speichern! ;)
 
Mir stellt sich gerade doch noch mal eine Frage.
Und zwar wie übergebe ich der Datei bild.php die den von mir oben geschriebenen Code enthält die Bilddaten?

Wenn das Bild bereits fest an einem Ort abgespeichert ist wie in meinem Beispiel, dann ist das ja kein Problem, aber wenn das Bild gerade hochgeladen wurde und vorerst als Vorschaubild angezeigt werden soll?
 
Zurück