Insertion d'image par des user

Insertion d'image par des user - PHP - Programmation

Marsh Posté le 09-11-2008 à 12:22:43    

Bonjour à tous,
 
J'ai un petit soucis qui n'a rien de grave car il concerne à peu près 1 utilisateur sur 100 parmi mes membres. Ils se plaignent que leur image ne s'affiche pas. Je ne vois pas trop d'où ça peut venir. En désespoir de cause  je vous mets donc les bouts de code html/php qui concerne cette fonctionnalité.  
En espérant que vous allez pouvoir éclairer ma lanterne :
 
Partie html:

Code :
  1. <form action="insertion.php" method="post" enctype="multipart/form-data">
  2. <p><label for="image">Image :</label>
  3. <input type="hidden" name="MAX_FILE_SIZE" value="50001" />
  4. <input name="image" type="file" id="image" /></p>
  5. </form>


 
Coté traitement php

Code :
  1. if (is_uploaded_file($_FILES['image']['tmp_name']))
  2. {
  3. $var = $_FILES['image']['type'];
  4. if ($var == "image/pjpeg" or $var == "image/jpeg" )
  5. {
  6.  $image = "jpg";
  7. }
  8. elseif ($var == "image/png" or $var == "image/x-png" )
  9. {
  10.  $image = "png";
  11. }
  12. elseif ($var == "image/gif" )
  13. {
  14.  $image = "gif";
  15. }
  16. else
  17. {
  18.  $message = "L'image  est incorrect. Elle doit &ecirc;tre du type GIF, JPG ou PNG.";
  19. }
  20. }
  21. else
  22. {
  23. $image = "non";
  24. }
  25. ###############################################################
  26. Là j'ai coupé car j'inserts des données dans ma bdd dont la variable $image.
  27. Je vais récupéré la clef tout de suite après
  28. ###############################################################
  29. $id = mysql_insert_id();
  30. if ($image != "non" )
  31. {
  32.  $dossier=floor($id/10000); // Ici comme les enregistrements se font avec un auto incrément de +1 ça me permet de ranger les images dans des dossiers contenant 10.000 images.
  33.  copy($_FILES['image']['tmp_name'], "./image/$dossier/$id.$image" );
  34. }


Message édité par Scarf3ss3 le 09-11-2008 à 12:25:23
Reply

Marsh Posté le 09-11-2008 à 12:22:43   

Reply

Marsh Posté le 10-11-2008 à 14:47:41    

Je ne sais pas si le terme pas de nouvelle, bonne nouvelle s'applique pour mon cas ^^
Après je me dis que ce soucis vient peut être d'un blocage de parefeu mais là je n'y connais rien...
Si c'est le cas comment trouver le port à faire ouvrir par mes visiteurs ?  
Car finalement mon code est peut être bon...

Reply

Marsh Posté le 10-11-2008 à 16:05:42    

Probablement les problèmes dans quelque application particulière (ou les versions) ?

Reply

Marsh Posté le 10-11-2008 à 17:57:46    

1-pourquoi n'utilises-tu pas move_uploaded_file ?
2-teste donc le retour de la fonction de copie de l'image :
 

Code :
  1. $copy = copy($_FILES['image']['tmp_name'], "./image/$dossier/$id.$image" );
  2. if($copy) {
  3.    // Copie réussie
  4. } else {
  5.    // Echec de la copie
  6. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed