Avatar billede noodrem Nybegynder
15. oktober 2007 - 13:02 Der er 5 kommentarer

Resize af billede

Hej Eksperter,

Jeg har en kode som kun virker ved nogle bestemte værdier!

Hvordan kan man få nedenstående til at fungerer med følgende værdier:

------------- Normal -------------
if(function_exists("move_uploaded_file")) {
            resize($fra, $til, 162, 108);
              resize($fra, $til_t, 200, 130);
            }

------------- Ny -----------------
if(function_exists("move_uploaded_file")) {
            resize($fra, $til, 300, 200);
              resize($fra, $til_t, 150, 100);
            }

Hvorfor kan man ikke anvende de nye værdier ?!

På forhånd tak.
Avatar billede noodrem Nybegynder
15. oktober 2007 - 14:57 #1
Altså under normal, resizer den billedet som den skal, men under den nye værdi får billedet den størrelse det har før man uploader.!
Avatar billede sw_red_6 Nybegynder
15. oktober 2007 - 14:59 #2
det ville nok være nemmere hvis vi kunne se koden til resize...
Avatar billede olebole Juniormester
15. oktober 2007 - 17:01 #3
Avatar billede sw_red_6 Nybegynder
16. oktober 2007 - 08:37 #4
hmm hvis det er den kode der bruges mangler der vidst et par parametre i funktionskaldet..
Avatar billede noodrem Nybegynder
18. oktober 2007 - 15:34 #5
Koden jeg bruger er:

function replace_string($ind_str){
    $soketter = array("æ","ø","å","Æ","Ø","Å"," ");
    $byttil = array("ae","oe","aa","AE","OE","AA","_");
    $tekst = str_replace($soketter,$byttil,$ind_str);
    return $tekst;
}
function resize( $filename, $newfilename, $maxw, $maxh ){
    $result = false;
    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $hscale : $wscale );
    $nw = round( $ow * $scale, 0 );
    $nh = round( $oh * $scale, 0 );
    $dstim = imagecreatetruecolor( $nw, $nh );
    imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
    $result = imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return $result;
}
if(isset($_POST['submit'])){
    if($_FILES["upfil"]["size"] > 0) {
        $konfiguration["upload_bibliotek"] = "../images";
        $konfiguration["max_stoerrelse"] = "10000";
       
        /* Hvor flytter vi fra og til */
        $fra = $_FILES["upfil"]["tmp_name"];
        $til = $konfiguration["upload_bibliotek"] . "/" . replace_string($_FILES["upfil"]["name"]);
        $til_t = $konfiguration["upload_bibliotek"] . "/thumb_" . replace_string($_FILES["upfil"]["name"]);
       
        /* Check PHP-version */
        list($major, $minor, $rev) = explode(".", phpversion());
        if($major < 4){
          die("Jeg kan kun arbejde med PHP 4.0.0 eller derover");
      }
   
        /* Skab de "moderne" arrays hvis vi arbejder med en aeldre PHP */
      if($minor < 1){
          $_FILES = $HTTP_POST_FILES;
        $_POST = $HTTP_POST_VARS;
        $_SERVER = $HTTP_SERVER_VARS;
      }
   
      /* Accepterer vi filens stoerrelse? */
      $fil_stoerrelse = filesize($fra)/1024;
      if($fil_stoerrelse > $konfiguration["max_stoerrelse"]){
          die("Desværre - filen er for stor. Jeg accepterer kun " .
        $konfiguration["max_stoerrelse"] . "kb, og din fil fylder " .
        ceil($fil_stoerrelse, 1) . " kb");
      }
   
      if(function_exists("move_uploaded_file")) {
        resize($fra, $til, 600, 400);
          resize($fra, $til_t, 200, 130);
        }
        else {
          copy($fra, $til);
        }
    }



Burde den ikke virke?
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