login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[verkleinen] Foto verkleinen

Offline giellexe - 02/04/2014 18:58
Avatar van giellexeMySQL interesse Beste forum leden,

Ik zit momenteel met een probleem.
Ik heb een upload script deze werkt heel goed.
Maar kan geen verklein script in maken.
Nu heb ik een script gemaakt die de afbeelding verkleint (met wat afkijk!)
Maar wanneer ik hem wil opslaan lukt dit niet en geeft hij meteen een fout.
Alle mappen staan 777 zelfs de klein mappen enzovoorts zijn aanwezig!

  1. <?php
  2. include("include/connect.php");
  3. $SQL = mysql_query("SELECT * FROM fotos WHERE id='".$_GET['foto']."' ORDER BY id") or die (mysql_error());
  4. while($bekijk = mysql_fetch_object($SQL))
  5. {
  6. $SQL2 = mysql_query("SELECT * FROM mappen WHERE id='".$bekijk->map_naam."'") or die (mysql_error());
  7. while($bekijk2 = mysql_fetch_object($SQL2))
  8. {
  9. $map = $bekijk2->map_naam;
  10. }
  11. $foto = $bekijk->bestand_naam;
  12. }
  13.  
  14. $bestand = 'Fotos/'.$map.'/'.$foto;
  15. $imagearray = getimagesize($bestand);
  16. $breedte = $imagearray[0];
  17. $hoogte = $imagearray[1];
  18. $mhoogte = 100;
  19. $mbreedte = 135;
  20.  
  21. $max_hoogte = (intval($mhoogte)) ? intval($mhoogte) : 200;
  22. $max_breedte = (intval($mbreedte)) ? intval($mbreedte) : 200;
  23.  
  24. if ($hoogte > $max_breedte || $hoogte > $max_hoogte) {
  25. if ($breedte / $hoogte > $max_breedte / $max_hoogte) { // als de breedte te groot is
  26. $breedtenieuw = $max_breedte;
  27. $a = $breedte / $max_breedte;
  28. $hoogtenieuw = round ($hoogte / $a);
  29. }
  30. else {
  31. $hoogtenieuw = $max_hoogte; // als de hoogte te groot is
  32. $a = $hoogte / $max_hoogte;
  33. $breedtenieuw = round($breedte / $a);
  34. }
  35. }
  36. else { // als het plaatje precies groot genoeg is
  37. $hoogtenieuw = $max_hoogte;
  38. $breedtenieuw = $max_breedte;
  39. }
  40.  
  41. $img = @imagecreatefromjpeg($bestand);
  42. if(!$img) { die("Kon plaatje niet aanmaken!"); }
  43. $tmp_img = imagecreatetruecolor($breedtenieuw, $hoogtenieuw);
  44. imagecopyresampled($tmp_img, $img, 0, 0, 0, 0, $breedtenieuw, $hoogtenieuw, $breedte, $hoogte);
  45. imagedestroy($img);
  46. $img = $tmp_img;
  47. header("Content-type: image/jpeg");
  48. imagejpeg($img,'./Fotos/klein/'.$map.'/'.$foto,70);
  49. ?>


Alvast bedankt voor jullie tijd!

Gr,
Guillaume  

1 antwoord

Gesponsorde links
Offline Thomas - 02/04/2014 19:05
Avatar van Thomas Moderator Wat is de foutmelding die je krijgt?

Daarnaast, die header('Content-type: image/jpeg') is alleen nodig als je een gegenereerde afbeelding wilt afdrukken.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.189s