Oprettet tor. d. 17. februar 2011 kl. 17:05:43

hobbittend
hobbittend (6.300 point. Point ude: 470)

Bloker upload, hvis filen ikke opfylder krav

Hej.

Jeg skal lave et lille stykke kode der tillader at en bruger kan indtaste en masse oplysninger, og uploade et billede til serveren. Der er nogle krav til billedet, og hvis det ikke er opfyldt, skal billedet ikke uploades og gemmes. Hvordan kommer det lige til at lykkes?

Koden er:



<php
/Tjek om billedet er okay
$max_size = 6291456; //Max filstørrelse i bytes
$allowed_files = array("jpg", "png", "gif", "jpeg", "tiff");



//Kode vedrørende billedupload:
//Tjek om der er indtastet noget, og størrelsen er over 0 bytes
if( isset($_FILES["Profilbillede"]) && $_FILES["Profilbillede"]["size"] > 0 )
    {
        //Tjek over billedet er større end den tilladte størrelse:
        if( $_FILES["Profilbillede"]["size"] > $max_size )
        {
            echo "Filen må ikke fylde mere end 6 MB.";
            $Gyldig = "False";
        }
        //Lav "fileextention" til små bogstaver, og se om det er af de tilladte filtyper:
        $file_ext = strtolower( end( explode(".", $_FILES["Profilbillede"]["name"]) ) );
            //Tjek om filen er af det rigtige format:
        if( !in_array($file_ext, $allowed_files) )
        {
                echo "Der må kun uploades filer af formatet .jpg, .png, .gif, .jpeg og .tiff";
                $Gyldig = "False";
        }
        If ($Gyldig == "True")
        {
            //Hent og gem billedet:
    $uploaddir = "Uploads/";
                $uploadfile = $uploaddir . $_FILES["Profilbillede"]["name"];
               
                if( move_uploaded_file($_FILES["Profilbillede"]["tmp_name"], $uploadfile) )
                {                   
                    // Vi sætter denne for at indikere at vi senere må behandle billedet.
                    $upload_success = true;
                }
                else
                {
                    echo "Filen kunne ikke gemmes. Kontakt Freerun Denmark - se nederst på siden";
                }
 
    if( isset($upload_success) )
    {
        // Vi skaffer de nødvendige oplysninger fra billedet
        $img_info = getimagesize($uploadfile);
       
      if ($Gyldig == "True")
      {
            // Så kontrollerer vi størrelsen
            if( $img_info[0] > 5000 || $img_info[1] > 5000 )
            {
                echo "Billedet må højst være 5000 x 5000 px.";
                $Gyldig = "False";
            }
      }
        }
    }


if ($Gyldig == "False")
{
    print "<BR><BR>Din indtastning var ikke korrekt. Tryk tilbage i din browser, og prøv igen - dine indtastninger vil ikke blive slettet.";
}
else
{
    print "<BR> gyldig";
    //Kør skidtet =)
}
?>

Skrevet søn. d. 27. februar 2011 kl. 10:46:06| #1


Skrevet ons. d. 16. marts 2011 kl. 08:50:35| #2


Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger