Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2637 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  upload de plusieurs image + ecriture dans une bdd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

upload de plusieurs image + ecriture dans une bdd

n°1563027
Masst
Posté le 21-05-2007 à 15:52:31  profilanswer
 

Bonjour  
 
Voila j'ai un script php qui me permet pour le moment d'uploader et d'écrire dans une bdd une seule image (ca marche impec).
 
Et maintenant je voudré pouvoir choisir entre 1 à 5 images j'ai tester un script qui demande combien d'image je veux mettre  
et via un boucle il me donne le nombre de <input type="file" neccessaire, jai voulu l'adpater pour enregistrer en même temps dans la BDD  
mais ya plus rien qui marche sa veu meme plus up sur le ftp  :cry:  
 
Alors je cherche d'autre piste qi quelqu'un a je suis preneur  
 
Merci d'avance
 

mood
Publicité
Posté le 21-05-2007 à 15:52:31  profilanswer
 

n°1563079
skeye
Posté le 21-05-2007 à 16:58:21  profilanswer
 

Quelle est la question?


---------------
Can't buy what I want because it's free -
n°1563176
bixibu
Ca ... c'est fait!
Posté le 21-05-2007 à 20:44:41  profilanswer
 

balance surtout du code..

n°1563344
Masst
Posté le 22-05-2007 à 11:09:20  profilanswer
 

re bonjour et désolé de ne pas avoir repondu plutôt
 
 

Code :
  1. function upload()
  2.       {
  3. //--------------------------------------
  4. //  DEFINITION DES VARIABLES
  5. //--------------------------------------
  6. $target     ="../IMAGE/";  // Repertoire cible
  7. $max_size   = 100000;     // Taille max en octets du fichier
  8. $width_max  = 2000;        // Largeur max de l'image en pixels
  9. $height_max = 2000;        // Hauteur max de l'image en pixels
  10. // variables
  11. $ftp_server = "server";
  12. $ftp_user_name = "user";
  13. $ftp_user_pass = "password";
  14. /* Connexion */
  15. $conn_id = ftp_ssl_connect($ftp_server);
  16. /* Identification */
  17. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  18. $extensions_ok = array("jpg","gif","png","jpeg" );
  19. //------------------------------------------------------------
  20. //  DEFINITION DES VARIABLES LIEES AU FICHIER
  21. //------------------------------------------------------------
  22. $nom_file   = $_FILES['fichier']['name'];
  23. $taille     = $_FILES['fichier']['size'];
  24. $tmp        = $_FILES['fichier']['tmp_name'];
  25. $chemin     = $target.$_FILES['fichier']['name'];
  26. $extension  = substr($nom_file,-3); // Récupération de l'extension
  27. /* Vérification de la connexion */
  28. #
  29. if ((!$conn_id) || (!$login_result)) {
  30. #
  31.        echo "La connexion FTP a échoué!\n";
  32. #
  33.        echo "Tentative de connexion à $ftp_server avec $ftp_user_name.\n";
  34. #
  35.        die;
  36. #
  37.    } else {
  38. #
  39.        echo "Connecté sur $ftp_server, avec l'utilisateur $ftp_user_name et le fichier $nom_file";
  40. #
  41.    }
  42. //---------------------------
  43. //  SCRIPT D'UPLOAD
  44. //---------------------------
  45. if($_POST['posted'])
  46. {
  47. // On vérifie si le champ est rempli
  48.   if($_FILES['fichier']['name'])
  49.   {
  50.      // On vérifie l'extension du fichier
  51.     if(in_array(strtolower($extension),$extensions_ok))
  52.     {
  53.        // On récupère les dimensions du fichier
  54.         $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
  55.            
  56.         // On vérifie les dimensions et taille de l'image
  57.         if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
  58.         {
  59.            // Si c'est OK, on teste l'upload
  60.             if(move_uploaded_file($tmp,$chemin))
  61.             {
  62.                  @chmod($nom_file,0777);
  63.               // Si upload OK alors on affiche le message de réussite
  64.                 echo '<p>Image uploadée avec succès !</p>';
  65.                 echo '<ul><li>Fichier : '.$_FILES['fichier']['name'].'</li>';
  66.                 echo '<li>Taille : '.$_FILES['fichier']['size'].' Octets</li>';
  67.                 echo '<li>Largeur : '.$infos_img[0].' px</li>';
  68.                 echo '<li>Hauteur : '.$infos_img[1].' px</li></ul>';
  69.             }
  70.                else
  71.             {
  72.                // Sinon on affiche une erreur système
  73.                 echo '<p>Problème lors de l\'upload !</p>';
  74.                
  75.             }
  76.         }
  77.           else
  78.         {
  79.           // Sinon erreur sur les dimensions et taille de l'image
  80.           echo '<p>Erreur dans les dimensions ou taille de l\'image !</p>';
  81.         }
  82.     }
  83.       else
  84.     {
  85.       // Sinon on affiche une erreur pour l'extension
  86.         echo '<p>Votre image ne comporte pas une extension valide !</p>';
  87.     }
  88.    }
  89.     else
  90.    {
  91.     // Sinon on affiche une erreur pour le champ vide
  92.     echo '<p>Le champ du formulaire est vide !</p>';
  93.    }
  94. }
  95. ?>
  96. <html>
  97. <head>
  98. <title>Upload d'une image sur le serveur !</title>
  99. </head>
  100. <body>
  101. <p>Envoyer le fichier :</p>
  102. <input type="hidden" name="posted" value="1">
  103. <input name="fichier" type="file">
  104. </body>
  105. </html>
  106. <?
  107.       }


 
Voila la fonction pour up une image et sinon sur une autre page j'ai un formulaire qui l'enregistre dans une bdd
Pour une image sa marche mais le probléme et que je voudrais en mettre 5

n°1563414
Masst
Posté le 22-05-2007 à 13:19:42  profilanswer
 

Personne?
 
Je voulais réutiliser plusieurs fois la même fonction dans mon fomulaire et ainsi afficher 5 champs mais l'upload et l'enregistrement
dans la bdd ne marche pas  
il ne prend que le premier champs en compte

n°1563438
skeye
Posté le 22-05-2007 à 13:59:22  profilanswer
 

Montre comment tu as essayé de le modifier, on te dira ce que tu as fait de travers...


Message édité par skeye le 22-05-2007 à 13:59:30

---------------
Can't buy what I want because it's free -
n°1563445
Masst
Posté le 22-05-2007 à 14:12:05  profilanswer
 

Code :
  1. function upload()
  2.       {
  3. $nb_image=5
  4. for($i=1;$i<=5;$i++)
  5. {
  6. //--------------------------------------
  7. //  DEFINITION DES VARIABLES
  8. //--------------------------------------
  9. $target     ="../IMAGE/";  // Repertoire cible
  10. $max_size   = 100000;     // Taille max en octets du fichier
  11. $width_max  = 2000;        // Largeur max de l'image en pixels
  12. $height_max = 2000;        // Hauteur max de l'image en pixels
  13. // variables
  14. $ftp_server = "l";
  15. $ftp_user_name = "";
  16. $ftp_user_pass = "";
  17. /* Connexion */
  18. $conn_id = ftp_ssl_connect($ftp_server);
  19. /* Identification */
  20. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  21. $extensions_ok = array("jpg","gif","png","jpeg" );
  22. //------------------------------------------------------------
  23. //  DEFINITION DES VARIABLES LIEES AU FICHIER
  24. //------------------------------------------------------------
  25. $nom_file   = $_FILES['fichier'.$i'']['name'];
  26. $taille     = $_FILES['fichier'.$i'']['size'];
  27. $tmp        = $_FILES['fichier'.$i'']['tmp_name'];
  28. $chemin     = $target.$_FILES['fichier'.$i'']['name'];
  29. $extension  = substr($nom_file,-3); // Récupération de l'extension
  30. /* Vérification de la connexion */
  31. #
  32. if ((!$conn_id) || (!$login_result)) {
  33. #
  34.        echo "La connexion FTP a échoué!\n";
  35. #
  36.        echo "Tentative de connexion à $ftp_server avec $ftp_user_name.\n";
  37. #
  38.        die;
  39. #
  40.    } else {
  41. #
  42.        echo "Connecté sur $ftp_server, avec l'utilisateur $ftp_user_name et le fichier $nom_file";
  43. #
  44.    }
  45. //---------------------------
  46. //  SCRIPT D'UPLOAD
  47. //---------------------------
  48. if($_POST['posted'])
  49. {
  50. // On vérifie si le champ est rempli
  51.   if($_FILES['fichier'.$i'']['name'])
  52.   {
  53.      // On vérifie l'extension du fichier
  54.     if(in_array(strtolower($extension),$extensions_ok))
  55.     {
  56.        // On récupère les dimensions du fichier
  57.         $infos_img = getimagesize($_FILES['fichier'.$i'']['tmp_name']);
  58.            
  59.         // On vérifie les dimensions et taille de l'image
  60.         if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
  61.         {
  62.            // Si c'est OK, on teste l'upload
  63.             if(move_uploaded_file($tmp,$chemin))
  64.             {
  65.                  @chmod($nom_file,0777);
  66.               // Si upload OK alors on affiche le message de réussite
  67.                 echo '<p>Image uploadée avec succès !</p>';
  68.                 echo '<ul><li>Fichier : '.$_FILES['fichier'.$i'']['name'].'</li>';
  69.                 echo '<li>Taille : '.$_FILES['fichier'.$i'']['size'].' Octets</li>';
  70.                 echo '<li>Largeur : '.$infos_img[0].' px</li>';
  71.                 echo '<li>Hauteur : '.$infos_img[1].' px</li></ul>';
  72.             }
  73.                else
  74.             {
  75.                // Sinon on affiche une erreur système
  76.                 echo '<p>Problème lors de l\'upload !</p>';
  77.                
  78.             }
  79.         }
  80.           else
  81.         {
  82.           // Sinon erreur sur les dimensions et taille de l'image
  83.           echo '<p>Erreur dans les dimensions ou taille de l\'image !</p>';
  84.         }
  85.     }
  86.       else
  87.     {
  88.       // Sinon on affiche une erreur pour l'extension
  89.         echo '<p>Votre image ne comporte pas une extension valide !</p>';
  90.     }
  91.    }
  92.     else
  93.    {
  94.     // Sinon on affiche une erreur pour le champ vide
  95.     echo '<p>Le champ du formulaire est vide !</p>';
  96.    }
  97. }
  98. ?>
  99. <html>
  100. <head>
  101. <title>Upload d'une image sur le serveur !</title>
  102. </head>
  103. <body>
  104. <p>Envoyer le fichier :</p>
  105. <input type="hidden" name="posted" value="1">
  106. <input name="fichier'.$i'" type="file">
  107. </body>
  108. </html>
  109. <?
  110. }
  111.       }
 

Voila j'ai simplement fait une boucle qui va creer 5 <input name="fichier'.$i'" type="file">

 


Message édité par Masst le 22-05-2007 à 14:12:32
n°1563721
bixibu
Ca ... c'est fait!
Posté le 22-05-2007 à 20:06:06  profilanswer
 

Oula OK tu t'es emmelé les pinceaux la..
 
tu fais 5 fois tout le traitement, c'est pas bon.. tu doit bien faire 5 traitement mais la partie qui t'importe est apres le if($posted), c'est logique car si il ya quelque chose qui arrive en POST (les données de ton formulaire), ce quelque chose va etre une image.. donc il faut que tu traite cela.. 5x
je te laisse cogiter cette partie..
 
Sinon dans ton HTML il te faut 5 champs input file
donc soit tu ecrix carrement :
<input name="fichier[]" type="file">
<input name="fichier[]" type="file">
<input name="fichier[]" type="file">etc..
que tu active ou desactive par une checkbox par exemple.. ou tu peux tester quand le formulaire est envoyé si le champs est vide au pire..
 
Soit tu cré dynamiquement des input en JS dont le name sera incrémenté. ca a l'avantage de pouvoir créer un nombre infini d'input image
 
dans tout les cas, dans ta boucle de traitement tu accedera aux item par fichier[$i] alors que $i ira de 0 au nombre de lignes danbs $fichier
 
 
Voila avec ca tu devrais pouvoir t'en sortir si tu cherche un peu
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  upload de plusieurs image + ecriture dans une bdd

 

Sujets relatifs
Lecture/Ecriture fichier texte vs MySQL ?Changement de l'image d'un div au survole du curseur
Tester si une image "existe" (test d'url)upload de fichier sur un sftp
calé div sur une image background...IE ??[MFC] zone cliquable dans une image
Pb pour afficher nom image[PHP] problème d'écriture dans un fichier
fonction qui retourne plusieurs variablessuppression plusieurs tables avec jointure
Plus de sujets relatifs à : upload de plusieurs image + ecriture dans une bdd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR