Avatar billede akki Nybegynder
04. oktober 2004 - 10:39 Der er 5 kommentarer

billed upload

jeg har lavet dette billed upload, som reciser billedet..

vil bare gerne havde ændre det, sådan at det reziced billed bliver kaldt tn_(billedets originale navn) sådan at man både har billedet i originalt samt i lille størelse.

her er mit script

$uploadDir = $_REQUEST["dir"];
                  $from = $_FILES["fileup"]["tmp_name"] or die("could not get file | $fileup");
                  $to = $uploadDir.$_FILES["fileup"]["name"];
                  move_uploaded_file($from, $to);
                  //her resizer vi billedet
echo"                $to";
                  $img = imagecreatefromjpeg($to);
                  $w = imagesx($img);
                  $h = imagesy($img);
                  $scalw = $w / 150;
                    $scalh = $h / 150;
                 
                  if($scalh < $scalw)
                  {
                  $neww = $w/$scalh;
                  $newh = $h/$scalh;                 
                  }
                  else{
                  $neww = $w/$scalw;
                  $newh = $h/$scalw;                 
                  }
                  $newimg = imagecreatetruecolor($neww, $newh);
                  imagecopyresized($newimg, $img,0,0,0,0,$neww, $newh, $w, $h);
                  imagejpeg($newimg,$to,95);
Avatar billede morteeart Nybegynder
04. oktober 2004 - 10:46 #1
kan ikke lige overskue din måde at køre dette script på (ret ustruktureret)
men kig på http://dk2.php.net/copy
den kører du så bare udover: imagejpeg($newimg,$to,95);
og så ændre du bare navnet..
Avatar billede michael_stim Ekspert
04. oktober 2004 - 10:55 #2
imagejpeg($newimg,. "tn_" . $to,95);
Ved ikke om det fungerer, men det er et forsög värd ;o)
Avatar billede akki Nybegynder
04. oktober 2004 - 11:05 #3
til michael.. det virker ikke..
tror at det er fordi jeg har hele stien med.. den siger at den ikke kan skrive tn til ../images/filnavn.jpg
Avatar billede michael_stim Ekspert
04. oktober 2004 - 11:31 #4
//tilladte filtyper. Tilføj fx. "image/gif"
    $allowedTypes = array("image/jpeg", "image/pjpeg", "image/jpg", "image/gif");

    $maxFileSize = 1030720; //tilladt max-størrelse i bytes

    $max_width = 1024; //Ja, tilladte max. højde
    $max_height = 768; //Tilladte max. bredde

//*nix-path til originalfilens endelige placering
    $path = $_SERVER['DOCUMENT_ROOT'] . "/upload/";

    IF($_FILES['img']['size']> 0)
    {

//Er fil-typen blandt tilladte?
        IF (in_array($_FILES['img']['type'],$allowedTypes))
        {

//Er fil-størrelsen under max. tilladte?
            IF ($_FILES['img']['size'] <= $maxFileSize)
            {

//Find billedets størrelse
                $size = getimagesize($_FILES['img']['tmp_name']);

//Filen er ikke for bred
                if($size[0] < $max_width)
                {

//Filen er ikke for høj
                    if($size[1] < $max_height)
                    {


//Udregn skaleringsforholdet på thumb, her skal 100 rettes til den ønskede bredde
                        $new_w = 65;
                        //$division = $size[0] / 100;
                        //$new_h = $size[1] / $division;
                        $new_h = 65;

//Lav et nyt billede så vi kan komme igang
                        $dst_img=ImageCreate($new_w,$new_h);

                        $src_img=ImageCreateFromJpeg($_FILES['img']['tmp_name']);

//Smid noget indhold i, og resize
                        ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));

//*nix-path til thumbfilens endelige placering
                        $filename2 = "../upload/thumbs/" . $img="thumb_".$_FILES['img']['name'];

//Udfør det hele
                        //echo "dst_img=".$dst_img."<br>";
                        //echo "filnavn2=".$filename2."<br>";
                        ImageJpeg($dst_img, $filename2);

//Flyt filen fra tmp til endelig placering
                        move_uploaded_file($_FILES['img']['tmp_name'], $path.$_FILES['img']['name']) or die("Fel, bilden har INTE blivit sparad!");
                    }

                    ELSE
                    {
//Fejlmedl. hvis fil over max. tilladt
                        $fejl = "Billede ikke sat ind: Filen er for høj!";
                    }
                }

                ELSE
                {
//Fejlmedl. hvis fil over max. tilladt
                    $fejl = "Billede ikke sat ind: Filen er for bred!";
                }
            }

            ELSE
            {
//Fejlmedl. hvis fil over max. tilladt
                $fejl = "Billede ikke sat ind: Filen er for stor!";
            }
        }
        ELSE
        {
//Fejlmedl. hvis fil-format ikke tilladt
            $fejl = "Billede ikke sat ind: Forkert fil-format!";
        }

Dette er en jeg har lånt her fra eksperten, der er alt kode kommenteret og til at finde ud af. Pröv den istedet.
Avatar billede michael_stim Ekspert
04. oktober 2004 - 11:37 #5
//tilladte filtyper. Tilføj fx. "image/gif"
    $allowedTypes = array("image/jpeg", "image/pjpeg", "image/jpg", "image/gif");

    $maxFileSize = 1030720; //tilladt max-størrelse i bytes

    $max_width = 1024; //Ja, tilladte max. højde
    $max_height = 768; //Tilladte max. bredde

//*nix-path til originalfilens endelige placering
    $path = $_SERVER['DOCUMENT_ROOT'] . "/images/";

    IF($_FILES['img']['size']> 0)
    {

//Er fil-typen blandt tilladte?
        IF (in_array($_FILES['img']['type'],$allowedTypes))
        {

//Er fil-størrelsen under max. tilladte?
            IF ($_FILES['img']['size'] <= $maxFileSize)
            {

//Find billedets størrelse
                $size = getimagesize($_FILES['img']['tmp_name']);

//Filen er ikke for bred
                if($size[0] < $max_width)
                {

//Filen er ikke for høj
                    if($size[1] < $max_height)
                    {


//Udregn skaleringsforholdet på thumb, her skal 100 rettes til den ønskede bredde
                        $new_w = 65;
                        //$division = $size[0] / 100;
                        //$new_h = $size[1] / $division;
                        $new_h = 65;

//Lav et nyt billede så vi kan komme igang
                        $dst_img=ImageCreateTrueColor($new_w,$new_h);

                        $src_img=ImageCreateFromJpeg($_FILES['img']['tmp_name']);

//Smid noget indhold i, og resize
                        ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img));

//*nix-path til thumbfilens endelige placering
                        $filename2 = "./images/" . $img="tn_".$_FILES['img']['name'];

//Udfør det hele
                        //echo "dst_img=".$dst_img."<br>";
                        //echo "filnavn2=".$filename2."<br>";
                        ImageJpeg($dst_img, $filename2);

//Flyt filen fra tmp til endelig placering
                        move_uploaded_file($_FILES['img']['tmp_name'], $path.$_FILES['img']['name']) or die("Fel, bilden har INTE blivit sparad!");
                    }

                    ELSE
                    {
//Fejlmedl. hvis fil over max. tilladt
                        $fejl = "Billede ikke sat ind: Filen er for høj!";
                    }
                }

                ELSE
                {
//Fejlmedl. hvis fil over max. tilladt
                    $fejl = "Billede ikke sat ind: Filen er for bred!";
                }
            }

            ELSE
            {
//Fejlmedl. hvis fil over max. tilladt
                $fejl = "Billede ikke sat ind: Filen er for stor!";
            }
        }
        ELSE
        {
//Fejlmedl. hvis fil-format ikke tilladt
            $fejl = "Billede ikke sat ind: Forkert fil-format!";
        }

Så nu skulle den väre lige til at copy/paste hvis du har images i roden og at der er gdlib2 på serveren.
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

IT-JOB

Roskilde Universitet

AV Tekniker

Forsvarsministeriets Materiel- og Indkøbsstyrelse

SAP Business Intelligence teknisk udvikler til Cyberdivisionen i Ballerup

Capgemini Danmark A/S

AI/Data Engineer

Styrelsen for Danmarks Fængsler

IT-driftskonsulent til Linux-baserede platforme