Scix Skrevet 23. mai 2005 Del Skrevet 23. mai 2005 (endret) Ja. Emne sier vel det meste. Hvordan lager jeg et slikt script? Finnes det en function som gjør dette? Kunne ikke finne noe... Edit: Den postet for fort... Endret 23. mai 2005 av Scix Lenke til kommentar
Loomy Skrevet 23. mai 2005 Del Skrevet 23. mai 2005 Du finner nok noe på Zend.com Code Gallery Lenke til kommentar
kakkle Skrevet 23. mai 2005 Del Skrevet 23. mai 2005 (endret) Evt gjør denne snutten jobben for deg (Krever ImageMagick installert på server): exec("convert -resize $thumbsizex$thumbsize $img_source $img_savepath") hvor $thumsize er maksstørrelse på thumbnails, $img_source er bildet som skal lages thumbnail av, og $img_savepath er det nye bildet. PS x mellom $thumsize er et gangetegn som i 75x75 Endret 23. mai 2005 av kakkle Lenke til kommentar
Mellet Skrevet 24. mai 2005 Del Skrevet 24. mai 2005 (endret) if(is_uploaded_file($_FILES['bilde']['tmp_name']) && $_FILES['bilde']['error'] == 0) { $filtype = '.jpg'; $filnavn = str_replace($filtype, '', $_FILES['filen']['name']); $filthumb = $filnavn .'_thumb'; $mappe = bilder/ $filstørrelse = getimagesize($_FILES['bilde']['tmp_name']); if($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') {$flyttbilde = imagecreatefromjpeg($mappe . $filnavn . $type);} $thumbbilde = imagecreatetruecolor(($filstørrelse[0] / 100) * 25, ($filstørrelse[1] / 100) * 25); imagecopyresampled($thumbbilde, $flyttbilde, 0, 0, 0, 0, ($filstørrelse[0] / 100) * 25, ($filstørrelse[1] / 100) * 25, $filstørrelse[0], $filstørrelse[1]); if($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') {imagejpeg($thumbbilde, $mappe . $filthumb . $type); print("Bildet er nå lastet opp.");} } else {print ("Bilde ble ikke lastet opp.");} Her er en liten kode.. Må sikkert endres på litt før den skal funke ortlig. Endret 24. mai 2005 av Mellet Lenke til kommentar
Albino Skrevet 25. mai 2005 Del Skrevet 25. mai 2005 Du kan også bruke GD-modulen: GD @ PHP Sjekk ut alle de feite funksjonene... Har laget/knabbet et slikt skript selv. Det tar litt tid før bildet kommer frem. http://www.frening.com/miniatyr.php?width=...der/2004/42.jpg Lenke til kommentar
RiniaShqipetare Skrevet 26. mai 2005 Del Skrevet 26. mai 2005 Du kan også bruke GD-modulen:GD @ PHP Sjekk ut alle de feite funksjonene... Har laget/knabbet et slikt skript selv. Det tar litt tid før bildet kommer frem. http://www.frening.com/miniatyr.php?width=...der/2004/42.jpg Koden din var bra, du gidder vel ikke å lege den ut her eller sende på PM? mvh. Lenke til kommentar
Albino Skrevet 28. mai 2005 Del Skrevet 28. mai 2005 Jeg har pakket ned koden. Kan lastes ned her: Miniatyr Purpose: class to handle image resize; can output to file or directly to browser Author: Yuriy Horobey, [email protected] Property: Horobey Freelance & Telecommuting URL: http://horobey.com Date: 12.04.2003 Jeg har lagt til noe kode slik at denne også kan hente inn bilder fra liker, og ikke bare filer som er lagret på egen server. Lenke til kommentar
Oracel Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 Merk at hvis du skal generere thumbnails på serveren, så pass på å lagre thumbnails fortløpende og ikke alltid generere dem "on the fly". Bruk istedet de du allerede har lagret. Hvis ikke så vil du fort oppleve ganske syke load-numbers på serveren din. Lenke til kommentar
Rasmus Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 Har laget en funksjon som beregner ny bildestørrelse basert på maksbegrensninger, både på bredde og høyde. Dvs. man spesifiserer en ramme thumbnailen skal passe i. <?php /** Beregner ny størrelse på et bilde basert på maks bredde og maks høyde. Bildet vil aldri få dimensjoner hvor ny bredde > maks bredde eller ny høyde > maks høyde. Returnerer et array med ny størrelse. @author Rasmus @param $width integer - orginal bredde @param $height integer - orginal høyde @param $max_width integer - maks bredde på det nye bildet @param $max_height integer - maks høyde på det nye bildet @return array('width'=>integer,'height'=>integer) */ function get_resized_size($width,$height,$max_width,$max_height){ $new_width=0; $new_height=0; if ($height >= $width) { //Høyde størst beregning $new_width = round(($max_height / $height)*$width); $new_height = $max_height; }else { //Bredde størst beregning $new_width = $max_width; $new_height = round(($max_width / $width)*$height); } return array('width'=>$new_width,'height'=>$new_height); } ?> Lenke til kommentar
Albino Skrevet 14. juni 2005 Del Skrevet 14. juni 2005 Merk at hvis du skal generere thumbnails på serveren, så pass på å lagre thumbnails fortløpende og ikke alltid generere dem "on the fly". Bruk istedet de du allerede har lagret. Hvis ikke så vil du fort oppleve ganske syke load-numbers på serveren din. Enig i at det går tregt, og serveren må jobbe. Jeg leier webhotell, så om serveren sliter eller ikke er ikke mitt problem. Jeg bruker dette skriptet blant annet til å lage miniatyrbilder av bilder fra webkameraer. Da kan ikke bildene lagres som miniatyrer fortløpende. Det som også er litt dumt med fortløpende lagring av miniatyrer er at dersom du vil endre bilde til å bli 20px bredere så blir det mye å endre på, men dersom en har tid og IQ så kan vel dette problemet løses også... Lenke til kommentar
ThaMezzy Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 if(is_uploaded_file($_FILES['bilde']['tmp_name']) && $_FILES['bilde']['error'] == 0) { $filtype = '.jpg'; $filnavn = str_replace($filtype, '', $_FILES['filen']['name']); $filthumb = $filnavn .'_thumb'; $mappe = bilder/ $filstørrelse = getimagesize($_FILES['bilde']['tmp_name']); if($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') {$flyttbilde = imagecreatefromjpeg($mappe . $filnavn . $type);} $thumbbilde = imagecreatetruecolor(($filstørrelse[0] / 100) * 25, ($filstørrelse[1] / 100) * 25); imagecopyresampled($thumbbilde, $flyttbilde, 0, 0, 0, 0, ($filstørrelse[0] / 100) * 25, ($filstørrelse[1] / 100) * 25, $filstørrelse[0], $filstørrelse[1]); if($_FILES['bilde']['type'] == 'image/jpg' || $_FILES['bilde']['type'] == 'image/jpeg' || $_FILES['bilde']['type'] == 'image/pjpeg') {imagejpeg($thumbbilde, $mappe . $filthumb . $type); print("Bildet er nå lastet opp.");} } else {print ("Bilde ble ikke lastet opp.");} Her er en liten kode.. Må sikkert endres på litt før den skal funke ortlig. Denne koden er vel kun for jpg familien. Har noen eksempler på hvordan man kan legge til i koden at den også legger til gif, png bilder? Lenke til kommentar
Albino Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Bytt ut imagecreatefromjpeg med imagecreatefromgif og imagecreatefrompng. Deretter bytter du ut imagejpeg med imagegif og imagepng. Håper du bruker PHP-manualen: Last ned PHP-manual (10 MB) Her finner du alle funksjoner og forklaring og diverse snadder... Lenke til kommentar
???????? Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Da må du endre validering av bildetypen, imagecreatefromjpeg og imagejpeg. Lenke til kommentar
Albino Skrevet 15. juni 2005 Del Skrevet 15. juni 2005 Da må du endre validering av bildetypen, imagecreatefromjpeg og imagejpeg. Dette bør være piece of cake. Noen enkle if-setninger ordner det. Har hatt problemer med spesielle bilder hvor bildetypen ikke blir funnet. Har begynt å sjekke på extension i stedet for MIME... Noen andre som har opplevd dette? Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå