Avatar billede eazye Nybegynder
03. januar 2003 - 13:39 Der er 5 kommentarer og
2 løsninger

Rezise billede? evt i Upload?

Hvordan kan jeg ændre dimensionerne på et billede jeg har uploadet?

eks: billedet hedder test.jpg og det vil jeg gerne have lavet om til dimensionerne 100x100 pixels.. kan dette gøres på en let måde via php?

eller skal det gøres når jeg uploader billedet fra websitet?

- EazyE
Avatar billede mccookie Seniormester
03. januar 2003 - 13:41 #1
lytter med
Avatar billede whatever Nybegynder
03. januar 2003 - 13:46 #2
Avatar billede whatever Nybegynder
03. januar 2003 - 13:47 #3
Hvis du søger her på eksperten, kan du finde mange spørgsmål omkring brugen af GDlib. Se http://www.eksperten.dk/kat/2/?searchtype=txt&words=gdlib&method=and&sort=score&catid=2
Avatar billede rzj Nybegynder
03. januar 2003 - 15:58 #4
Avatar billede henriklaursen Nybegynder
03. januar 2003 - 21:58 #5
Her er lige en kode som jeg har brugt. den virker hvis du har installeret GDlib (i nyeste version) samt "pnmscale"
--------------------------------------------------
if($addaction=="upload" && $PHP_AUTH_USER)
{
//koden der udføres når en person har valgt at uploade et nyt billede
    if ($REQUEST_METHOD == "POST")
    {
   
    $uploaddir = 'pics';

    $pext = getFileExtension($imgfile_name);
    $pext = strtolower($pext);
    if (($pext != "jpg")  && ($pext != "jpeg"))
    {
        print "<h1>FEJL !</h1>Ukendt filtype.<br>";
        print "<p>Du kan kun uploade billeder af type JPEG<br><br>";
        print "Billedet du prøver at uploade er af typen: $pext</p>\n";

        unlink($imgfile);
        exit();
    }

    $imgsize = GetImageSize($imgfile);

    if (($imgsize[0] > 200) || ($imgsize[1] > 250))
    {
        $tmpimg = tempnam("/tmp", "MKUP");
        system("djpeg $imgfile >$tmpimg");
        system("pnmscale -xy 200 250 $tmpimg | cjpeg -smoo 10 -qual 50 >$imgfile");
   
        unlink($tmpimg);
    }
   
    $mdstempel = md5($imgfile);
    $filnavn = $mdstempel.".". $pext;
   
    $final_filename = str_replace(" ", "_", $filnavn);
    $filnavn = $final_filename;
    $newfile = $uploaddir . "/$final_filename";
       
    if (is_uploaded_file($imgfile))
    {     
      if (!copy($imgfile,"$newfile"))
      {
          print "Der er sket en fejl.";
          exit();
      }
    }
    unlink($imgfile);
           
// her sætter jeg det ind i en database..

    $sql = "INSERT INTO pics (filnavn, tekst)  VALUES    ('".addslashes($final_filename)."','".addslashes($tekst)."')";
    mysql_db_query("$dbName", $sql);
   
        echo"<img src='pics/$final_filename' border='0' alt='$tekst'>";   
        echo"<br><br>Dit billeder resizet og uploadet:<br>";
       
        echo"<br><br>Når du redigere siden hvorpå billedet skal være, skal du skrive dette \"tag\" ind : <br><br>&lt;IMG SRC=\"pics/$final_filename\"&gt;<br><br>";
        echo"<br><a class='midt' href='add.php?addaction=billeder'>Upload nyt billede</a><br>";
-------------------------------------
//////////////////////////////////
den form som scriptet kaldes fra.
//////////////////////////////////

<b>Upload nyt billede</b>
<form action="add.php" name="upload" method="POST" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1024000">
Billedtekst:<input type="text" name="tekst" MAXLENGTH="40">
Fil-placering:<input type="file" name="imgfile" >
<input type="hidden" name="addaction" value="upload"><br><br>
<br>
<input type="submit" value="Upload billede">
</form>

////////////////////////

Jeg håber du kan finde hoved og hale i det
Avatar billede eazye Nybegynder
04. januar 2003 - 01:00 #6
læg svar henriklaursen..
Avatar billede henriklaursen Nybegynder
04. januar 2003 - 18:26 #7
wups.. :-) Her er svar ...
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