IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Upload de plusieurs images


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut Upload de plusieurs images
    Boujour,

    depuis plusieurs jours, je suis sur une page permettant d'uploader plusieurs images. Alors que la page est bien avancée, je rencontre deux problèmes:
    Warning: strrchr() expects parameter 1 to be string, array given in C:\wamp\www\xxxxxx\photos\traitement-ajout-image2.php on line 25
    Insert into photos (NumPhoto, NomFichier, Largeur, Hauteur, Commentaire, NumTheme) values (33,'Nourisson-003.jpg',1868,2800,'Rien Rien',$NumTheme)
    Unknown column '$NumTheme' in 'field list'
    la première erreur correspond a cette ligne de code dans ma page qui traite l'ajout d'image (traitement-ajout-image2.php):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
    // substr(chaine,1) ignore le premier caractère de chaine
    $extension_upload = strtolower(  substr(  strrchr($_FILES['UneImage']['name'], '.')  ,1)  );
    if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
    pour la seconde erreur (le insert into) je ne comprends pas: j'ai une page form-ajout-image (ou est le formulaire) qui envoie vers traitement-ajout-image avec le numero de thème en paramêtre: le souci, c'est que dans ma barre d'url j'ai ?NumTheme=$NumTheme au lieu de ?NumTheme=9
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //page venant de form-ajout-image.php
    $NumTheme=$_GET['NumTheme']; //aucun souci je recupère bien la valeur
     
    echo '<form method="post" action="photos/traitement-ajout-image2.php?NumTheme=$NumTheme" enctype="multipart/form-data"> 
    //je pense que c'est le action qui ne marche pas
     <table>';
    for($i = 0; $i < 5; $i++)
     echo '  <tr class="StyleFormulaire">
       <td><input type="file" name="UneImage[]" size="100" /></td>
      </tr>';
    echo '  <tr><td><input type="submit" name="BcdTransfert" value="Envoyer les photo" /></td></tr>
     </table>
    </form>';
    Si vous ne comprenez pas une partie de mon code ou quoique se soit, n'hesitez pas à me poser des questions.
    Merci d'avance

    Blito

  2. #2
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Essaye plutôt avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<form method="post" action="photos/traitement-ajout-image2.php?NumTheme='.$NumTheme.'" enctype="multipart/form-data">
    Dans les simples quotes, les variables ne sont pas évaluées.

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Pour le premier problème, dans ton formulaire, UneImage['name'] est un tableau, non ? Tu devrais faire un foreach comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    foreach($_FILES['UneImage']['name'] as $foo) {
    $extension_upload = strtolower(  substr(  strrchr($foo, '.')  ,1)  );
    if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
    }
    Ca devrait aller mieux comme ça, je pense.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup pour tes réponses
    Concernant ta première réponse, ça a l'air de marcher (je dis ça à l'air car je suis sur un autre poste ou wamp serveur a été très mal configuré )

    Par contre, pour la deuxième réponse j'ai un parse error a la fin de la boucle du foreach (attention, il est possible que ç marche sur l'autre ordinateur).
    D'ailleurs je ne vois pas trop ce qu'est la variable $extensions_valides car normalement avec la fonction in_array, le deuxième paramètre est le tableau

    Je te tiens au courant dès lors que je serais sur l'autre PC (ce soir ou demain).

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    moi aussi, j'ai codé un multi-upload d'images (je ne peux pas le montrer car le site est infecté), mais pour faire ça, j'ai utilisé ce plugin jquery et le résultat est super.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2010
    Messages : 15
    Points : 7
    Points
    7
    Par défaut
    bonjour,
    Merci pour ton lien laurentSc, j'imagine que tu avais une bdd derrière ?
    Il faudrait que je penche sur ton Plugin même si j'aimerais résoudre le souci que j'ai avant.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Non, pas besoin de bdd pour le multi-upload ; par contre, j'en ai une pour stocker les noms de fichiers et permettre de les télécharger plus tard. En fait, j'avais fait avant l'upload sans ce plugin (on pouvait déjà en télécharger 5 d'un coup), mais grâce au plugin (au code tellement compliqué que je n'y comprends rien), il y a des barres de progression.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

Discussions similaires

  1. Upload de plusieurs images en même temps
    Par cedrus dans le forum Langage
    Réponses: 5
    Dernier message: 17/03/2014, 12h13
  2. [PHP 5.3] upload de plusieurs images mais une par une ?
    Par Jean Fi dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2012, 19h40
  3. [PHP 5.3] Upload de plusieurs images => rien dans le dossier
    Par beegees dans le forum Langage
    Réponses: 4
    Dernier message: 06/06/2011, 09h37
  4. [MySQL] Upload de plusieurs images et insertion de données
    Par LAETIAZ dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 24/05/2009, 13h33
  5. [Upload] Télécharger plusieurs images en même temps
    Par tarzanjane dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2009, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo