Partage
  • Partager sur Facebook
  • Partager sur Twitter

is_uploaded_file ... erreur !

Sujet résolu
    23 septembre 2021 à 11:16:23

    Après 2 jours de recherche, je suis obligé de venir vous demander de l'aide !

    mon code :

    if (is_uploaded_file($_FILES['file']['tmp_name']))
    {
        echo "vrai";
    } else {
        echo "faux";
    }


    le résultat :

    <b>Warning</b>:  Undefined array key "file" in <b>/Users/.../page.php</b> on line <b>20</b><br />

    <br />

    <b>Warning</b>:  Trying to access array offset on value of type null in <b>/Users/.../page.php</b> on line <b>20</b><br />

    faux<br />

    Je suis en local sur mac avec WAMP... ça n'arrête pas ma page, mais ça m'affiche ces 2 lignes ! je comprends pas ?!?

    merci de votre aide, je sèche lamentablement

    • Partager sur Facebook
    • Partager sur Twitter
      23 septembre 2021 à 11:17:10

      Salut

      Est-ce que tu peux nous montrer ton formulaire ? Merci.

      • Partager sur Facebook
      • Partager sur Twitter
        23 septembre 2021 à 12:57:13

        Salut,

        ça ne vient pas du formulaire... parce que je n'y ai pas encore envoyé de fichier ! donc, je ne devrais avoir que "faux" d'affiché... pas le warning ???

        <form action="page.php?info=fait" method="post" enctype='multipart/form-data'>
                                <div>
                                    <div>
                                        <div>
                                            <input type="text" name="champ1" placeholder="" id="champ1">
                                        </div>
                                    </div>
        
                                    <div>
                                        <div>
                                            <input type="file" name="file" placeholder="Fichier" id="file">
                                        </div>
                                    </div>
                                </div>
                                <span><button type="submit">Télécharger</button></span>
                            </form>

        Il est plus bas sur la même page.

        merci

        -
        Edité par PatrickGard 23 septembre 2021 à 12:57:54

        • Partager sur Facebook
        • Partager sur Twitter
          23 septembre 2021 à 13:00:33

          Alors il me paraît logique que si tu n'envoies pas de fichier, $_FILES['file'] n'existe pas et que ça pose problème pour accéder à $_FILES['file'][ quelque chose ], non ? Il faut donc vérifier que $_FILES['file] n'est pas vide avant de continuer les opérations sur le fichier.

          • Partager sur Facebook
          • Partager sur Twitter
            23 septembre 2021 à 13:13:59

            Ok, avec if(isset($_FILES['file']...

            Mais je pensais que le is_uploaded_file était là pour ça ?

            • Partager sur Facebook
            • Partager sur Twitter
              23 septembre 2021 à 14:55:25

              Attention, ne mélange pas isset() et empty(), j'ai bien parlé de vérifier que ce n'était pas vide.

              Et non, is_uploaded_file() regarde si le fichier dont le nom est passé en paramètre existe dans le dossier d'upload temporaire, mais si le nom lui-même n'existe pas, ça ne va pas fonctionner  :D

              -
              Edité par Ymox 23 septembre 2021 à 16:25:07

              • Partager sur Facebook
              • Partager sur Twitter
                23 septembre 2021 à 16:09:05

                Merci pour la réponse. Je vais regarder la différence entre isset et empty. Merci !!!
                • Partager sur Facebook
                • Partager sur Twitter

                is_uploaded_file ... erreur !

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                • Editeur
                • Markdown