login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Probleem met uploaden van foto

Offline Raze - 21/11/2009 10:38
Avatar van RazePHP beginner Hallo,

aan de hand van een tutorial hier op SiMa heb ik het volgende gebouwd voor mijn site:

  1. public function upload( $list , $album , $input )
  2. {
  3.  
  4. for( $i = 0; $i <= $list; $i++)
  5. {
  6.  
  7. $photo_id = uniqid().''.(mktime()*rand(1000,9999))/rand(100000,999999);
  8.  
  9. $ext = strrchr( $input['file_name'][$i] , "." );
  10.  
  11. $photo_url = 'http://localhost/storage/mdl_photo/'.$photo_id.'.'.$ext;
  12.  
  13. $delete_photo_url = $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$photo_id.'.'.$ext;
  14.  
  15. $name_ext = $photo_id.'.'.$ext;
  16.  
  17. move_uploaded_file( $input['file_tmp'][$i] , $_SERVER['DOCUMENT_ROOT'] . '/storage/mdl_photo/'.$name_ext);
  18.  
  19. // Afbeelding resizen
  20. // De afbeelding moet geresized worden i.v.m. het passen op de pagina
  21.  
  22. // Controleren welke extensie de foto heeft vooraleer deze geresized wordt
  23. if( $ext == 'jpg' )
  24. {
  25. $photo = imagecreatefromjpeg( $photo_url );
  26. }
  27. elseif( $ext == 'png' )
  28. {
  29. $photo = imagecreatefrompng( $photo_url );
  30. }
  31.  
  32. // De maximum x-waarde
  33. $max_x = 400;
  34.  
  35. // De maximum y-waarde
  36. $max_y = 400;
  37.  
  38. // De x-verhouding
  39. $x_verhouding = imagesx( $photo ) / $max_x;
  40.  
  41. // De y-verhouding
  42. $y_verhouding = imagesy( $photo ) / $max_y;
  43.  
  44. // Er moet geresized worden want de verhoudingen zijn groter dan 1
  45. if( $x_verhouding > 1 or $y_verhouding > 1 )
  46. {
  47. // De $x_verhouding-variabele controleren t.o.v. de $y_verhouding-variabele
  48. if( $x_verhouding > $y_verhouding )
  49. {
  50. $nx = $max_x;
  51.  
  52. $ny = imagesy( $photo ) / $y_verhouding;
  53. }
  54. else
  55. {
  56. $nx = imagesx( $photo ) / $x_verhouding;
  57.  
  58. $ny = $max_y;
  59. }
  60.  
  61. $nIm = imagecreatetruecolor( $nx , $ny );
  62.  
  63. imagefill( $nIm , 0 , 0 , imagecolorallocate( $nIm , 0 , 0 , 0 ) );
  64.  
  65. imagecopyresampled( $nIm , $photo , 0 , 0 , 0 , 0 , $nx , $ny , imagesx( $photo ) , imagesy( $photo ) );
  66.  
  67. if( $ext == 'jpg' )
  68. {
  69. imagejpeg( $photo , $photo_url );
  70. }
  71. elseif( $ext == 'png' )
  72. {
  73. imagepng( $photo , $photo_url );
  74. }
  75.  
  76. }
  77.  
  78. // QUERY voorbereiden
  79. $q = " INSERT INTO
  80. photo_information
  81. (photo_id,
  82. user_id,
  83. photo_url,
  84. delete_photo_url,
  85. photo_desc,
  86. photo_location,
  87. album_id,
  88. date,
  89. time,
  90. photo_reactions)
  91. VALUES
  92. ('".$photo_id."',
  93. '".$_SESSION['user_id']."',
  94. '".$photo_url."',
  95. '".$delete_photo_url."',
  96. '".$input['desc'][$i]."',
  97. '".$input['location'][$i]."',
  98. '".$album."',
  99. CURDATE(),
  100. CURTIME(),
  101. '".$input['reactions'][$i]."'
  102. )
  103. ";
  104.  
  105. // QUERY uitvoeren
  106. $r = mysqli_query( $this->photo_dbc_connection , $q );
  107.  
  108. }
  109.  
  110. }


om de één of andere reden werkt dit niet, maar aangezien ik geen foutmelding krijg, weet ik echt niet waar dit aan zou kunnen liggen.
Iemand een idee?

4 antwoorden

Gesponsorde links
Offline kickasgamer - 21/11/2009 10:49
Avatar van kickasgamer PHP ver gevorderde
boven je code zetten miss krijg je nu wel een error
Offline Raze - 21/11/2009 11:00
Avatar van Raze PHP beginner Warning: imagejpeg() [function.imagejpeg]: Unable to open 'http://localhost/storage/mdl_photo/4b07ba431f3ab11696847.997957..jpg' for writing: Invalid argument in C:\xampp\htdocs\modules\photo\classes\photo.class.php on line 132

Lijn 69 in de code daar zou de fout zitten
Offline kickasgamer - 21/11/2009 11:05
Avatar van kickasgamer PHP ver gevorderde http://localhos...97957..jpg

hier zie je de fout al denk ik (de ext = ..jpg)
Offline Raze - 21/11/2009 11:07
Avatar van Raze PHP beginner dat is al opgelost

de foto wordt nu mooi in de map gezet, maar niet geresized
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s