Upload d'image

Upload d'image - PHP - Programmation

Marsh Posté le 13-01-2006 à 14:44:38    

Bonjour à tous. Voila j'ai un script qui logiquement devrais permettre le transfert de fichier mais ça ne marche pas et je vois pas où est le problème.
 

Code :
  1. <?php
  2. function transfert ()
  3. {
  4. $ret = false;
  5. $img_blob = '';
  6. $img_taille = 0;
  7. $img_type = '';
  8. $img_nom = '';
  9. $taille_max = 250000;
  10. $ret = is_uploaded_file ($_FILES['fic']['tmp_name']);
  11. if ( !$ret )
  12. {
  13. echo "Problème de transfert";
  14. return false;
  15. }
  16. else
  17. {
  18. // Le fichier a bien été reçu
  19. $img_taille = $_FILES['fic']['size'];
  20. if ( $img_taille > $taille_max )
  21. {
  22. echo "Trop gros !";
  23. return false;
  24. }
  25. $img_type = $_FILES['fic']['type'];
  26. $img_nom = $_FILES['fic']['name'];
  27. include ("connexion.php" );
  28. $img_blob = file_get_contents ($_FILES['fic']['tmp_name']);
  29. $req = "INSERT INTO images (".
  30. "img_nom, img_taille, img_type, img_blob ".
  31. " ) VALUES (".
  32. "'".$img_nom."', ".
  33. "'".$img_taille."', ".
  34. "'".$img_type."', ".
  35. "'".addslashes ($img_blob)."') ";
  36. $ret = mysql_query ($req) or die (mysql_error ());
  37. return true;
  38. }
  39. }
  40. ?>


 
Le code suivant est le code de ma page principale où se trouve la boite de sélection de l'image :  
 

Code :
  1. <html>
  2. <head>
  3. <title>Stock d'images</title>
  4. </head>
  5. <body>
  6. <?php
  7. include ("transfert.php" );
  8. if ( isset($_FILES['fic']) )
  9. {
  10. transfert();
  11. }
  12. ?>
  13. <h3>Envoi d'une image</h3>
  14. <form enctype="multipart/form-data" action="#" method="post">
  15. <input type="hidden" name="MAX_FILE_SIZE" value="250000" />
  16. <input type="file" name="fic" size=50 />
  17. <input type="submit" value="Envoyer" />
  18. </form>
  19. </body>
  20. </html>


 
Est ce que quelqu'un a une idée de quoi ça pourrait venir? (ça me met problème de transfert, ce qui correspond à la ligne n°13 du premier code).
 
Merci d'avance.


Message édité par Melekitto le 13-01-2006 à 14:45:07
Reply

Marsh Posté le 13-01-2006 à 14:44:38   

Reply

Marsh Posté le 13-01-2006 à 14:49:24    

Ton form à action="#", en gros, il n'apellera aucune autre page. Si tu veux apeller à nouveau le même fichier, il faut mettre action="." .

Reply

Marsh Posté le 13-01-2006 à 14:52:42    

Même en modifiant le form action, ça fait toujours pareil. Je galère depuis une heure.Le but du script est de transférer une image dans une base de donnée mysql.Mais je n'y arrive pas.

Reply

Marsh Posté le 13-01-2006 à 14:55:41    

t'as essayé de faire un print_r($_FILES) pour voir si t'avais pas une erreur de transfert ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-01-2006 à 14:58:47    

Array ( [fic] => Array ( [name] => Photo Damien 001.jpg [type] => [tmp_name] => [error] => 2 [size] => 0 ) )  
Voila ce que me donne un print_r($_FILES)

Reply

Marsh Posté le 13-01-2006 à 15:00:21    

error 2 reste plus qu'à [:sh@rdar]


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-01-2006 à 15:10:10    

Merci maintenant le transfert fonctionne (je n'avais pas pensé au print_r($_FILES). Le problème venait du fait que l'image est trop grosse.
Maintenant reste plus qu'à réussir à afficher l'image dans une page via une requête sql

Reply

Sujets relatifs:

Leave a Replay

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