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

  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

  7. #7
    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 je sélectionne un fichier le vardump donne


    Nom : formulaire.jpg
Affichages : 200
Taille : 40,9 Ko



    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    array (size=1)
      'file_array' => 
        array (size=5)
          'name' => 
            array (size=4)
              0 => string '20131119_193616.jpg' (length=19)
              1 => string '' (length=0)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'type' => 
            array (size=4)
              0 => string 'image/jpeg' (length=10)
              1 => string '' (length=0)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'tmp_name' => 
            array (size=4)
              0 => string 'C:\wamp\tmp\php7A30.tmp' (length=23)
              1 => string '' (length=0)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'error' => 
            array (size=4)
              0 => int 0
              1 => int 4
              2 => int 4
              3 => int 4
          'size' => 
            array (size=4)
              0 => int 166901
              1 => int 0
              2 => int 0
              3 => int 0

    2 fichiers dans mon 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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    array (size=1)
      'file_array' => 
        array (size=5)
          'name' => 
            array (size=4)
              0 => string '20131119_193616.jpg' (length=19)
              1 => string 'Bienvenue.jpg' (length=13)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'type' => 
            array (size=4)
              0 => string 'image/jpeg' (length=10)
              1 => string 'image/jpeg' (length=10)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'tmp_name' => 
            array (size=4)
              0 => string 'C:\wamp\tmp\phpED05.tmp' (length=23)
              1 => string 'C:\wamp\tmp\phpED16.tmp' (length=23)
              2 => string '' (length=0)
              3 => string '' (length=0)
          'error' => 
            array (size=4)
              0 => int 0
              1 => int 0
              2 => int 4
              3 => int 4
          'size' => 
            array (size=4)
              0 => int 166901
              1 => int 516424
              2 => int 0
              3 => int 0

    3 ou 4 fichiers

    var_dump = page blanche

  8. #8
    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
    Je veins de m'apercevoir

    Que j'ai un page blanche mais c'est en fonction de la taille total des fichiers je pense

    J'ai pris 4 petits fichiers est j'ai

    qui me donnait une page blanche

    apres redimensionnement de l'image pour redure ca taille j'ai bien 4 fichier


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    array (size=1)
      'file_array' => 
        array (size=5)
          'name' => 
            array (size=4)
              0 => string 'P1030162 [800x600].JPG' (length=22)
              1 => string 'P1030164 [800x600].JPG' (length=22)
              2 => string 'P1030168 [800x600].JPG' (length=22)
              3 => string 'P1030223 [800x600].JPG' (length=22)
          'type' => 
            array (size=4)
              0 => string 'image/jpeg' (length=10)
              1 => string 'image/jpeg' (length=10)
              2 => string 'image/jpeg' (length=10)
              3 => string 'image/jpeg' (length=10)
          'tmp_name' => 
            array (size=4)
              0 => string 'C:\wamp\tmp\php83B1.tmp' (length=23)
              1 => string 'C:\wamp\tmp\php83B2.tmp' (length=23)
              2 => string 'C:\wamp\tmp\php83B3.tmp' (length=23)
              3 => string 'C:\wamp\tmp\php83B4.tmp' (length=23)
          'error' => 
            array (size=4)
              0 => int 0
              1 => int 0
              2 => int 0
              3 => int 0
          'size' => 
            array (size=4)
              0 => int 48426
              1 => int 74817
              2 => int 66706
              3 => int 40477

  9. #9
    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
    bon voila php info

    post_max_size 3M 3M

    donc c'est ca ma limit

    J'ai modifié dans php.ini et ca marche

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 383
    Points : 10 411
    Points
    10 411
    Par défaut
    Citation Envoyé par gyver76370 Voir le message
    J'ai modifié dans php.ini et ca marche
    Le problème est que tu ne pourras pas modifier cette valeur sur un serveur distant mutualisé.

    De plus en cas de dépassement de cette limite ou autre problème serveur l'utilisateur devra attendre le téléchargement de tous les fichiers avant d'avoir l'information qu'ils sont tous rejetés.

    Une solution passe partout est d'utiliser ce module d'upload qui permet de surpasser les limitations serveur et de sauvegarder les fichiers séparément avec un système de queing intégré.

    Il est fourni avec une quinzaine d'exemples tous fonctionnels (upload simples et multiples, recadrage et/ou redimensionnements d'images, validation de formulaire avant upload etc.) et de nombreuses options sont disponibles comme par exemple l'affichage des vignettes images avant l'upload, informations d'upload en temps réel (progression, temps restant, status en cours etc.), drag and drop, boutons d'arrêts individualisés... Permet aussi la reprise de téléchargement des fichiers en utilisant la partie sauvegardée (à partir d'une taille paramétrable), en cas d'arrêt volontaire ou panne serveur/internet.

  12. #12
    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
    Hello

    merci pour ta solution , je vais regarder ces intéressents.

    Mais sinon je n'ai pas de problème car le server est une VM avec un debain +XAMP que j'ai mis en place moi meme

    Voila

    Mais je vais aller voir ta soluce


    ++

+ 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