2 versch. größen nach bildupload ausgeben

Maniac

Erfahrenes Mitglied
Moin allerseits,

bilderuploadscripte gibt es ja einige gute im netz, aber was ich bis jetzt noch nicht gefunden habe ist sowas wie ich nach dem upload das bild in 2 verschiedene größen ausgebe.

Porblem wird ja sein, das ich entweder das bild in original größe auf dem host speichere und dann per resize in die 2 größen ausgebe. das hat ja performance probleme irgendwann wenn die original bilder sehr groß sind.

Wenn ich jetzt vor dem speichern aufm host die bilder verkleinere bräuchte ich 2 ordner, einmal "klein" und einmal "groß" zb. würde das nicht auch performanceprobleme hervorrufen?

Was ist die besser lösung oder gibt es noch ne andere variante?

Hat vielleicht jemand schon so ein script in der art und ich könnte mir da was abschauen?

P.S: ich lerne gerade PHP und bin daher noch nicht soweit
 
Wenn die Originalbilder gross sind, ist es auf jeden Fall fair Vorschaubilder zu erzeugen.

Folgende Funktion liefert Dir z.B. Vorschaubilder vom Originalpic:
PHP:
function thumb($dateiname, $dir, $zieldir, $dateityp) {
	$groesse=getimagesize("$dir/$dateiname");
	$breite=$groesse[0];
	$hoehe=$groesse[1];
	$dateityp=$groesse[2];
	$hoehe2=$hoehe*80/$breite;
	$image1 = imagecreatetruecolor(80,$hoehe2);
	switch ($dateityp)
	{
		case 1:
		$image = imagecreatefromgif("$dir/$dateiname");
		break;
		case 2:
		$image = imagecreatefromjpeg("$dir/$dateiname");
		break;
		case 3:
		$image = imagecreatefrompng("$dir/$dateiname");
		break;
		default: $fimg="Nur jpg/gif/png Format möglich";
	}
	imagecopyresampled($image1, $image, 0,0, 0,0,80,$hoehe2,$breite,$hoehe);
	switch ($dateityp)
	{
		case 1:
		imagegif($image1,"$zieldir/$dateiname");
		break;
		case 2:
		imagejpeg($image1,"$zieldir/$dateiname",85);
		break;
		case 3:
		imagepng($image1,"$zieldir/$dateiname");
		break;
		default: $fimg="Nur jpg/gif/png Format möglich";
	}
}

Die Funktion beschränkt sich auf die drei häufigsten Datei-Formate. Es wird vom Originalbild eine Kopie erzeugt, in der Höhe 80px, mit Breite relativ zum Original.
Würde Dir auch empfehlen, sofern Du über ein Script die Bilder hochladen (lässt), mit getimagesize() zu validieren, ob es sich auch wirklich um eine gültige Bild-Datei handelt.

Grüsse
 
Zurück