login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Foto systeem, Pixel check!

Offline vanw - 10/01/2006 22:50
Avatar van vanwPHP interesse Ik heb een probleem, ik heb net een code toegevoegd aan een upload systeem. om de pixel grote te checken alleen als de foto groter is dan toegestaan. Upload hij hem wel je krijg wel een melding maar ziet erover heen.

Als ik een } else { neer zet krijg je weer een fout. Hopelijk kan iemand me helpen, Alvast bedankt!

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

5 antwoorden

Gesponsorde links
Offline tomk - 11/01/2006 07:36
Avatar van tomk ASP interesse Het is niet
  1. } else {
maar:
  1. <?php
  2. mysql_query("INSERT INTO `foto` (gbr, foto, datum, beschrijving) VALUES ('$gb', '$file_name', NOW(), '$beschrijving')");
  3. echo "Het plaatje is succesvol opgeslagen";
  4. //error printen als het geen jpg is
  5. }
  6. else
  7. {
  8. echo "Het bestands formaat word niet ondersteund.<br> Alleen jpg word toegelaten.";
  9. }
  10. }
  11. else
  12. {
  13. echo "Kies een plaatje (alleen jpg).";
  14. }
  15. ?>

zo moet ie volgens mij:)
Offline Thomas - 11/01/2006 07:41 (laatste wijziging 11/01/2006 07:41)
Avatar van Thomas Moderator
  1. $plaatje = $bestand;
  2. $size = GetImageSize($plaatje);


Waar komt $bestand vandaan? Levert getimagesize() uberhaupt iets op? Ik denk dat je getimagesize($_FILES['bestand']['tmp_name']) moet hebben...
Offline tomk - 11/01/2006 07:44
Avatar van tomk ASP interesse Misschien geeft hij in een eerder bestand die variabel mee.
Offline BigBug - 11/01/2006 07:53
Avatar van BigBug PHP expert Of hij draait het om dat ie $bestand op dat moment de waarde van $plaatje wil geven.
Offline vanw - 11/01/2006 17:04
Avatar van vanw PHP interesse Het is opgelost door else in elseif te veranderen, Dank zij mijn collega!

Bedankt voor de reacties!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.34s