Sponsor-Board.de

Normale Version: PHP Bilder verkleinern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Abend zusammen,
ist es empfehlenswert, wenn man zb eine Gallerie hat und die eigl. Bilder zuerst mit nen Thumbnail darstellen möchte, dass man diese mit PHP verkleinert und den Link ebenfalls in der DB speichert (Ladezeit) ?

Oder verkleinert der Browser diese z.B. proportional (die Höhe), wenn man folgendes angibt ? :

<img src="bild.png" width="150px" />

anstatt den Link zum verkleinerten Bild

Danke für jede Antwort!

mfg
Hallo,
Die Frage ist immer für was genau. Das Problem wenn Du es über den "width" pseudo verkleinerst, aber zulässt das man 20 MIO Pixel (8-12Mb Gross) hochladen kann - so wird die Ladezeit künstlich verlängert.

Diesbezüglich würde ich via PHP das auf ein Thumbnail (150px) und vielleicht sogar noch ein preview Bild (~500px) rendern lassen. Platz mässig macht es wenig aus.

Ein Beispiel welches es wohl einfcher Darstellt: [Link: Registrierung erforderlich]

---
Wenn Du aber eh nur schlechte Sourcen bekommst, welche eh nicht viel Grösser sind, dann kannst Du es gut via "width" pseudo verkleinern.

Ich hoffe Dir hilft das ein wenig Weiter.
ja, es handelt sich um größere Bilder Wink

danke dir

edit :

Nun lädt er nichts hoch, woran kann das liegen ? :/

PHP-Code:
if(isset($_POST['upload']))
{
     
mysql_connect("localhost""root""pw");
     
mysql_select_db("flipspot");
    
    
$Nickname $_POST["Nickname"];
    
$UserID $_POST["UserID"];
    
$titel $_POST["titel"];
    
$beschreibung $_POST["beschreibung"];
    
    
/* neuen Bildnamen festlegen */
    
$fn $_FILES["img"]["name"];
    
$fn_teile explode("."$fn);
    
$fn_endung $fn_teile[count($fn_teile) - 1];
     
$fn "show_" date("YmdHis") . "." $fn_endung;
    
/* Bild in die DB einfügen und kopieren und speichern */
    
copy($_FILES["img"]["name"], $fn);
    
    
mysql_query("insert into showroom (Titel, Beschreibung, UserID, Nickname, Bildlink)"
    
" values ('$titel', '$beschreibung', '$UserID', '$Nickname', '$fn')
    "
);
        
    
    
/* Original Bildgröße ermitteln */
    
$info getimagesize($fn);
    
$width_alt $info[0];
    
$height_alt $info[1];
    
    
/* neue Bildgröße festlegen */
    
$width_neu 150;
    
$height_neu ceil($height_alt $width_neu $width_alt);
    
    
/* Bildobjekt erzeugen */
    
$im_alt imagecreatefromjpeg($fn);
    
$im_neu imagecreatetruecolor($width_neu$height_neu);
    
    
/* Bild in neue Größe kopieren und speichern */
    
imagecopyresampled($im_neu$im_alt0000$width_neu$height_neu$width_alt$height_alt);
    
imagejpeg($im_neu,  "../upload/showroom/" $fn);
    
    
imagedestroy($im_alt);
    
imagedestroy($im_neu);
    


bin weiterhin für jede Hilfe dankbar!

edit2: gefixt! "tmp_name" anstatt "name"

Neues PRoblem : Er zeigt mir als verkleinertes Bild nur nen schwarzen Kasten an :/

dieses ist nun auch gefixt Smile

neues hat sich aufgetan :

Wie kann ich bei einer while Schleife, in der ich alle DB Einträge auslese, nach jeden dritten Eintrag zb einen Befehl ("echo" zum Beispiel) eintragen ?
-
Referenz-URLs