Avatar billede g1mzee Nybegynder
07. oktober 2008 - 17:32 Der er 3 kommentarer

upload, rezise kun jpeg gif og png filer.

hej, jeg skal have lavet mit upload system sådan den kun tager jpeg, gif og png filer..
Men det syntes ikke rigtig at virke som jeg vil :p
bruger $_FILES['userfile']['type']. men det virker ikke?

if ($_SESSION['login'] == "ja") {
        if ($_GET['p'] == 2) {
            if ($_FILES['minfil'] && $_POST['overskrift'] && $_POST['tekst']) { //Har brugeren forsøgt at uploade noget?
            if ($_FILES['minfil']['type'] == "images/png" || $_FILES['minfil']['type'] == "images/jpeg" || $_FILES['minfil']['type'] == "images/gif") {
                //Bestem hvor filen skal smides hen og og hvad den skal hedde
                $destination = "images/forside/" . $_FILES['minfil']['name'];
                $overskrift = addslashes($_POST['overskrift']);
                $tekst = nl2br($_POST['tekst']);
                $dato = date("d F Y");
                $billed = $_FILES['minfil']['name'];
    //Forsøg at flyttede den uploadede fil har dens midlertidige destination til den nye
                    if (move_uploaded_file($_FILES['minfil']['tmp_name'], $destination)){   
                        list($bredde, $hojde) = getimagesize("$destination"); //Find højden og bredden på det billede jeg vil resize
                        $forhold = $hojde/$bredde; //Hvor stor er højden i forhold til bredden?
    //Find den nye højde og bredde
                        $bredde_ny = 191;
                        $hojde_ny = round($bredde_ny*$forhold);
    //Load/opret billeder
                        if ($_FILES['minfil']['type'] == "image/png")
                        {
                            $source = imagecreatefrompng($destination);
                            $destination = imagecreate($bredde_ny, $hojde_ny);
    //Resize
                            imagecopyresized($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);
//Gem
                            imagepng($destination, "images/forside/" . "resized_" . $_FILES['minfil']['name']);
                       
                        } elseif ($_FILES['minfil']['type'] == "image/jpeg")
                        {
                            $source = imagecreatefromjpeg($destination);
                            $destination = imagecreate($bredde_ny, $hojde_ny);
    //Resize
                            imagecopyresized($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);
//Gem
                            imagejpeg($destination, "images/forside/" . "resized_" . $_FILES['minfil']['name']);
                       
                        } elseif ($_FILES['minfil']['type'] == "images/gif")
                        {
                            $source = imagecreatefromgif($destination);
                            $destination = imagecreate($bredde_ny, $hojde_ny);
    //Resize
                            imagecopyresized($destination, $source, 0, 0, 0, 0, $bredde_ny, $hojde_ny, $bredde, $hojde);
//Gem
                            imagegif($destination, "images/forside/" . "resized_" . $_FILES['minfil']['name']);
                       
                        }
                        $billed = "resized_" . $_FILES['minfil']['name'];

                        $query = mysql_query ("SELECT billed FROM nyheder WHERE id='1'") or DIE(mysql_error());
                        $row = mysql_fetch_array($query);
                        unlink("images/forside/".$_FILES['minfil']['name']);
                        unlink("images/forside/".$row['billed']);
                        mysql_query ("UPDATE nyheder SET dato='$dato', overskrift='$overskrift', indhold='$tekst', billed='$billed' WHERE id='1'")  or die (mysql_error());
                        Session_destroy();
                        header("Location: index.php");
                    }else{
                        $status = "Der er sket en fejl";
                    }
            } else {
                $status = "Filtypen er ikke godkendt";
            }
Avatar billede jakobdo Ekspert
07. oktober 2008 - 17:36 #1
Hvad er der galt med min fantastiske artikel om emnet: http://www.eksperten.dk/artikler/1200 :o)
Avatar billede g1mzee Nybegynder
07. oktober 2008 - 18:02 #2
Det ville sikkert virke fint, men da jeg ønsker stadig at holde forholdet. og ikke gider at lave et nyt, så skal jeg gerne have et der passer til mit :)..
og er ikke specielt god til at relatere på den måde, så  hvis du kan finde noget sammenhæng, så ville det være nice.
Avatar billede jakobdo Ekspert
07. oktober 2008 - 18:04 #3
Du kunne tage et kig på min kode her så:

//Filendelse
    $extension = getExtension($_FILES['myFile']['name']);
   
    //Er filen en af de filer vi gerne vil have?
    if(in_array($extension,$allowedFileTypes))
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