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 multiple fichier isset ne marche pas


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Novembre 2013
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 229
    Points : 109
    Points
    109
    Par défaut upload multiple fichier isset ne marche pas
    Hello

    J'ai suivi un etuto pour uploader plusieur ficheir a la fois .

    Le isset ne semble pas marché, ou plutot considére ma varaible tableau comme false

    en détails

    Le code html (formulaire)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    </head>
    <body>
    <form action="script_upload.php" method="post" enctype="multipart/form-data">
      <p><input type="file" name="file_array[]"></p>
      <p><input type="file" name="file_array[]"></p>
      <p><input type="file" name="file_array[]"></p>
      <input type="submit" value="Upload all files">
    </form>
    </body>
    </html>
    le script php d'upload

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     
     
    if(isset($_FILES['file_array'])){
        $name_array = $_FILES['file_array']['name'];
        $tmp_name_array = $_FILES['file_array']['tmp_name'];
        $type_array = $_FILES['file_array']['type'];
        $size_array = $_FILES['file_array']['size'];
        $error_array = $_FILES['file_array']['error'];
        for($i = 0; $i < count($tmp_name_array); $i++){
            if(move_uploaded_file($tmp_name_array[$i], "test_uploads/".$name_array[$i])){
                echo $name_array[$i]." upload is complete<br>";
            } else {
                echo "move_uploaded_file function failed for ".$name_array[$i]."<br>";
            }
        }
    } else {
     
    	echo "ca marche pas ";
    }
    ?>
    donc si je fais cela le resultat est

    en provenance de mon echo


    pas contre si dans le formualre html

    Je ne met que un fichier a uploader au lieu des 3 ca marche
    upload ok

    voila donc le isset considere apparement ma variable tableau a false

    Merci de votre aide

    bon weekend

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ton code tel quel fonctionne.
    Tu as contrôle ce que contenant $_FILES ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2013
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 229
    Points : 109
    Points
    109
    Par défaut
    salut

    Merci de ton aide
    non le code ne fonctionne apparement que si je selcetionne 1 fichier
    Je suis en train de vérifier ce que donne cette variable

    +

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2013
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 229
    Points : 109
    Points
    109
    Par défaut
    après qque test , je mapercois que

    isset($_FILES['file_array']) est null si dans mon formulaire je met plus de trois fichier a uploader

    1 ou 2 fichier ca marche

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2013
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Novembre 2013
    Messages : 229
    Points : 109
    Points
    109
    Par défaut
    si 1 ou 2 fichier a uploader

    echo isset($_FILES['file_array']); = 1,

    si > 2 fichiers

    echo isset($_FILES['file_array']); = null

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Isset ne renvoit pas null donc je ne sais pas trop de quoi tu parles.
    De plus la valeur du test isset() on la connait déjà, ce qu'il faut contrôler c'est $_FILES.

    Utilise var_dump() plutôt que echo quand tu veux contrôler une variable.
    Est-ce qu'il n'y aurait pas simplement un problème avec le 3ème fichier que tu envoies (fichier trop gros par exemple) ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/04/2011, 05h22
  2. lecture de fichiers CHM ne marche pas?
    Par Merfolk dans le forum Windows Vista
    Réponses: 7
    Dernier message: 25/08/2008, 19h26
  3. mon fichier swf ne marche pas
    Par roznos dans le forum Flash
    Réponses: 4
    Dernier message: 17/04/2008, 14h54
  4. Ouverture fichier excel ne marche pas
    Par Breizh22p dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 25/01/2008, 22h53
  5. .htaccess et fichier erreur401 ne marche pas...
    Par bris dans le forum Apache
    Réponses: 1
    Dernier message: 24/10/2005, 15h21

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