Avatar billede dero Nybegynder
10. april 2005 - 22:48 Der er 6 kommentarer

Når man resizer et billede kan man så sætte størrelse og kvalitet

Hey.

jeg har 2 problemer.

1) Er der muligt at bestemme kvaliteten på en jpeg billede med når man resizer det?

2) Jeg får denne besked når jeg køre mit script, hvorfor?

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 9088 bytes) in /mnt/dkcphnas003/www/d/g/downloading.dk/sider/billedeupload.php on line 34

Her er mit script:
_________________________

<?
if($_GET['upload'] == "ok")
{
  //Her skal filen flyttes fra
  $fra = $_FILES['fil']['tmp_name'];
 
  //Hvilken type fil arbejder vi med?
  $ext = strtolower(end(explode(".", $_FILES['fil']['name'])));
  //Hvis filen er et jpg, jpeg
  if($ext == "jpg" || $ext == "jpeg")
  {
    //Dimensioner
    $imgsize = getImageSize($fra);
    //Størrelse
    $size = $_FILES['fil']['size'];
    //Tid
    $tid = time();
    //Her giver vi billedet et andet navn, så der ikke kommer to ens navne…
    $nytNavn = $tid . "_" . rand(1, 1000000) . "." . $ext;
   
    //Her skal filen flyttes til
    $til = "../galleri/bruger/large/" . $nytNavn;
   
    //Resizing
    $path =  "../galleri/bruger/small/";
    $width = 110;
    $height = $imgsize[1] / ($imgsize[0] / $width);
   
    if ($height > 165) {
        header("Location: http://www.downloading.dk/index.php?include=errorside&error=propertioner");
    }
    else {
    $dst_img = imagecreatetruecolor($width,$height);
    $src_img = ImageCreateFromJpeg($fra);
    ImageCopyResampled($dst_img,$src_img,0,0,0,0,$width,$height,ImageSX($src_img),ImageSY($src_img));
    ImageJpeg($dst_img, $path.$nytNavn);
        //Her sker det magiske:
    if ($imgsize[0] > 550) {
    $bigwidth = 550;
    $bigheight = $imgsize[1] / ($imgsize[0] / $bigwidth);
    $bigdst_img = imagecreatetruecolor($bigwidth,$bigheight);
    $bigsrc_img = ImageCreateFromJpeg($fra);
    ImageCopyResampled($bigdst_img,$bigsrc_img,0,0,0,0,$bigwidth,$bigheight,ImageSX($bigsrc_img),ImageSY($bigsrc_img));
    ImageJpeg($bigdst_img, $til.$nytNavn);
} else {
    move_uploaded_file($fra, $til);
}
    //Logge ind i databasen
mysql_connect('????','????','????');
mysql_select_db("????");

//Her ligges oplysningerne ind databasen
$query    = "INSERT INTO brugergalleri (Name, ip, date) VALUES ('$nytNavn', '$ip', '$tid')";
mysql_query($query);

header("Location: http://www.downloading.dk/index.php?include=tak_upload");
}
  }
  else {
  header("Location: http://www.downloading.dk/index.php?include=errorside&error=uploadtype&type=billede");
}
}
else
{
?>
<form action="../sider/billedeupload.php?upload=ok" method="post" name="post" ENCTYPE="multipart/form-data">
  <table>
    <tr>
      <td>
        <font color="#FF0000">*</font>Billedet :
      </td>
        <td>
          <input type="file" size=40 name="fil">
          <input type="hidden" name="MAX_FILE_SIZE" value="100000">
        </td>
      </tr>
      <tr>
        <td>
        <input type="submit" value="Upload">
      </td>
    </tr>
  </table>
</form>
<?
}
?>
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 22:52 #1
1)

http://se.php.net/image

Se kommentaren af

andreaskalsch at gmx dot de
09-Mar-2005 07:24

Eller søg på "quality"

2)

Fordi at PHP har et hukommelses limit, som er indstillet i php.ini
Hvis du vil uploade enorme store filer/billeder kræves der ftp.
Avatar billede dero Nybegynder
10. april 2005 - 22:56 #2
hmm.. men jeg har et upload system til film.. Der kan man sagtens uploade film der er større end det..
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 22:59 #3
jo, men du resizer ikke dine film vel ?-)

Det kræver serverkraft at resize så store billeder.
Avatar billede dero Nybegynder
10. april 2005 - 22:59 #4
Hvad er bedst? 1 eller 100?
Avatar billede dero Nybegynder
10. april 2005 - 23:06 #5
okay.. Ved du så hvor meget de max må fylde?
Avatar billede hyberpreprocessor Nybegynder
10. april 2005 - 23:54 #6
100 i kvalitet er bedst.

Normalt er max filstørrelse i upload sat til 2mb, det er vist standard i php.ini.
Ved ikke med GDLIB, men det kan kun skalere jpg filer, og har sjældent jpg filer på over 2-300 kb.
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