login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > GD library > Jpg uploaden + thumbnail aanmaken

Jpg uploaden + thumbnail aanmaken

Auteur: Slipie - 05 september 2004 - 13:25 - Gekeurd door: Dennisvb - Hits: 9611 - Aantal punten: 4.38 (8 stemmen)




Met dit script kan je Jpg plaatjes uploaden.
Er word dan gelijk een thumbnail van gemaakt.
CHMOD de mappen van de thumbnails en plaatjes naar 777

Code:
  1. <?
  2. if (isset($_FILES['bestand'])) {
  3.  
  4. //de variabellen
  5. $maxsize = 302400; //maximale grote in bytes
  6. $file_name = "image"; //naam van de foto
  7. $map = "bestanden/"; //mapnaam. Vergeet de / niet op het einde
  8.  
  9. //De groote van het bestand vergelijken met het maximum toegelaten
  10. if ($_FILES['bestand']['type'] > $maxsize){
  11. exit("Je bestand " . $_FILES['bestand']['size'] . " bytes, het maximum toegelaten is " . $maxsize . " bytes");
  12. }
  13.  
  14. //checken of het wel een jpg is
  15. if($_FILES['bestand']['type'] == "image/pjpeg") {
  16.  
  17. //de extensie van het bestand in een variabelle gooien
  18. $x = strtolower(substr($_FILES['bestand']['name'], -3));
  19.  
  20. $n = 0;
  21. // Check of het plaatje al bestaat, zo ja, filename verhogen
  22. while (file_exists($map . $file_name . $n . '.' . $x))
  23. {
  24. $n = $n + 1;
  25. }
  26. $file_name = $file_name . $n;
  27.  
  28. //het bestand verplaatsen naar de opgegeven map en hernoemen naar de opgegeven filenaam
  29. move_uploaded_file($_FILES['bestand']['tmp_name'],$map . $file_name . '.' . $x);
  30. //bestand chmodden(is alleen van belang voor linux webserver)
  31. chmod ($map . $file_name . '.' . $x, 0777);
  32.  
  33. $width = 100; //maximale breedte, in pixels, van de thumbnail
  34. $thumb = "bestanden/thumbs/" . $file_name . '.' . $x; //de map waar de thumbnails in komen(alleen tussen de quotes veranderen)
  35. $orig = $map . $file_name . '.' . $x;
  36. //het plaatje gaan verkleinen
  37. $b = imagecreatefromjpeg($map . $file_name . '.' . $x) or die ("Jpg probleempje");
  38. $bx = imagesx($b); //breedte van het orgineel
  39. $by = imagesy($b); //hoogte van het orgineel
  40. $lm = $b;
  41. //hoogte uit rekennen
  42. $temp=$bx/$width;
  43. $height=$by/$temp;
  44. //het plaatje gaan maken
  45. $lm1 = imagecreate($width ,$height) or die ("Probleem met maken van plaatje");
  46. //als je geen GD library 2 hebt moet je imagecopyresampled veranderen in imagecopyresized(lagere kwaliteit)
  47. imagecopyresampled($lm1, $lm, 0, 0, 0, 0, $width, $height, $bx, $by);
  48. //80 is jpg kwaliteit maar je kan ook tot 120 gaan of lager dan 80
  49. Imagejpeg($lm1,$thumb,80);
  50. //de troep opruimen
  51. imageDestroy($lm1);
  52. imageDestroy($lm);
  53. echo "Het plaatje is succesvol opgeslagen";
  54. //error printen als het geen jpg is
  55. } else {
  56. echo "Het bestands formaat word niet ondersteund.<br> Alleen jpg word toegelaten.";
  57. }
  58. } else {
  59. echo "Kies een plaatje (alleen jpg).";
  60. }
  61. ?>
  62. <form action="" enctype="multipart/form-data" method="post">
  63. <input type="file" name="bestand">
  64. <input type="submit" name="submit" value="Upload">
  65. </form>
Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (3)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.027s