Avatar billede maqhem Nybegynder
22. december 2009 - 09:22 Der er 14 kommentarer og
1 løsning

Upload af billede

Hej.

Jeg ønsker en funktion, der kan uploade et billede til mit webhotel, men billedet skal opfylde et vist kriterie:

Det må maks være 500 bredt og 200 højt, desuden skal det beholde proportionerne. Og hvis billedet formindskes, skal resten ud til de 500x200 fyldes ud med sort, og billedet skal placeres i bunden af "rammen". Hvordan gør jeg det?
Avatar billede repox Seniormester
22. december 2009 - 09:26 #1
Hvad har du prøvet med indtil videre?
Avatar billede maqhem Nybegynder
22. december 2009 - 12:35 #2
Ingenting. Jeg vil gerne lave en søgning på Google, men det er svært, for jeg ved ikke, hvad jeg skal søge på.
Avatar billede repox Seniormester
22. december 2009 - 12:41 #3
Jamen, kan du selv uploade billedet og så kan vi tage billedebehandlingen derfra?
Avatar billede maqhem Nybegynder
22. december 2009 - 12:55 #4
Ja, men jeg vil supergerne have et script, der kan skalere billedet og sætte det ind i den sorte ramme, jeg snakkede om. Det andet vil blive for besværligt i længden.
Avatar billede maqhem Nybegynder
22. december 2009 - 12:57 #5
Jeg går ud fra, jeg skal have fat i noget af det, der ligner et captcha-billede, hvor den genererer et nyt billede, der er sort og har den størrelse, og så sætter det nye billede ind. Jeg ved bare ikke, hvordan jeg skal gøre det.
Avatar billede repox Seniormester
22. december 2009 - 13:00 #6
Du bliver nød til at tage det i små skridt, for ellers får du bare en uholdbar løsning.
Allerførst skal du jo have billedet op på serveren, før du kan behandle billedet og give den den sorte ramme. Altså, du kan jo ikke give et billede, som du ikke har, en sort ramme.

Og så spørger jeg; kan du selv finde ud af at uploade billedet på serveren? Så kan vi bagefter se på mulighederne for behandlingen af de billeder der bliver lagt op.
Avatar billede maqhem Nybegynder
22. december 2009 - 13:09 #7
Jeps, så meget havde jeg regnet ud :)

Og nej, det kan jeg ikke. Jeg vil gerne se efter nogle tutorials på nettet og se om jeg kan lave mit eget, og så kan du hjælpe mig med det bagefter? Eller vil du måske give mig en kort lektion i, hvordan man uploader et billede til serveren?

Du bestemmer.
Avatar billede repox Seniormester
22. december 2009 - 13:30 #8
Du kan prøve at kigge her:
http://www.php.net/manual/en/features.file-upload.post-method.php

Og så kan du bare spørge om hjælp når du er kommet igang med at uploade filer.
Avatar billede maqhem Nybegynder
22. december 2009 - 13:47 #9
Nej hvor vildt, det virker!

Lige nu har jeg bare kopieret af direkte fra siden. Er der noget, jeg skal tage højde for med hensyn til sikkerhed? Hvordan sikrer jeg mig blandt andet, at det er en jpg-fil?
Avatar billede maqhem Nybegynder
22. december 2009 - 13:56 #10
... Ud over at tjekke $_FILES["userfile"]["type"], for den kan sikkert fakes - eller hvad?
Avatar billede jakobdo Ekspert
22. december 2009 - 14:35 #11
Du kunne tage et kig på min guide her: http://www.eksperten.dk/guide/1200
Avatar billede maqhem Nybegynder
22. december 2009 - 16:05 #12
Yes, jeg fandt ud af det!

Smid et svar, repox. Du var den eneste, der hjalp mig på rette spor. jakobdo, dit bidrag kunne jeg godt selv have regnet ud :)

<?php
    header('Content-Type: image/jpeg');
   
    $Src = "PICTURE.JPG";
    $MaxWidth = 500;
    $MaxHeight = 100;
   
    list($Width, $Height, $Type, $Attr) = getimagesize($Src);
   
    $BG = imagecreatetruecolor($MaxWidth, $MaxHeight);
    $Image = imagecreatefromjpeg($Src);
   
    if($Height / $Width > $MaxHeight / $MaxWidth) {
        $NewHeight = $MaxHeight;
        $NewWidth = $MaxHeight * $Width / $Height;
    } else {
        $NewWidth = $MaxWidth;
        $NewHeight = $MaxWidth * $Height / $Width;
    }
   
    if($NewHeight == $MaxHeight) {
        imagecopyresampled($BG, $Image, 0, 0, 0, 0, $NewWidth, $NewHeight, $Width, $Height);
    } else {
        imagecopyresampled($BG, $Image, 0, $MaxHeight - $NewHeight, 0, 0, $NewWidth, $NewHeight, $Width, $Height);
    }
   
    imagejpeg($BG, NULL, 100);
?>
Avatar billede jakobdo Ekspert
22. december 2009 - 16:28 #13
maqhem: Kvaliteten af spørgere herinde på eksperten.dk er meget svingende, så man skal altid starte med laveste fællesnævner. :o)
Avatar billede maqhem Nybegynder
22. december 2009 - 16:38 #14
Det er selvfølgelig rigtigt nok :)
Avatar billede repox Seniormester
22. december 2009 - 21:56 #15
Jamen, du fik et svar her.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester