Avatar billede hobbittend Novice
17. februar 2011 - 17:05 Der er 1 kommentar og
1 løsning

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 =)
}
?>
Avatar billede hobbittend Novice
27. februar 2011 - 10:46 #1
Nogen forslag?
Avatar billede hobbittend Novice
16. marts 2011 - 08:50 #2
***LUKKET***
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