Partage
  • Partager sur Facebook
  • Partager sur Twitter

Upload de fichiers par formulaire ne marche pas

    22 janvier 2018 à 20:31:54

    hello tout le monde, j'essaye l'upload de fichiers par formulaire, mais ça ne fonctionne pas :(

    aidez-moi svp.

     <?php
    	$_FILES['icone']['name']     //Le nom original du fichier, comme sur le disque du visiteur 
    	                              //(exemple : mon_icone.png).
    	$_FILES['icone']['type']     //Le type du fichier. Par exemple, cela peut être « image/png ».
    	$_FILES['icone']['size']     //La taille du fichier en octets.
    	$_FILES['icone']['tmp_name'] //L'adresse vers le fichier uploadé dans le répertoire temporaire.
    	$_FILES['icone']['error']    //Le code d'erreur, qui permet de savoir si le fichier a bien été uploadé.
    ?>
    
    <?php
    	if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert";
    ?>
    
    <?php
    	if ($_FILES['icone']['size'] > $maxsize) $erreur = "Le fichier est trop gros";
    ?>
    <?php
    	$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png' );
    //1. strrchr renvoie l'extension avec le point (« . »).
    //2. substr(chaine,1) ignore le premier caractère de chaine.
    //3. strtolower met l'extension en minuscules.
    	$extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.')  ,1)  );
    	if ( in_array($extension_upload,$extensions_valides) ) echo "Extension correcte";
    ?>
    <?php
    	$image_sizes = getimagesize($_FILES['icone']['tmp_name']);
    	if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) $erreur = "Image trop grande";	
    ?>



    • Partager sur Facebook
    • Partager sur Twitter
    Tuba
      22 janvier 2018 à 20:57:44

      Salut

      Montre tous le code avec le formulaire aussi

      • Partager sur Facebook
      • Partager sur Twitter
        22 janvier 2018 à 21:21:32

        Attention au droits du répertoire de destination, il se peut que ton script php n'ait pas de droits en écriture.
        • Partager sur Facebook
        • Partager sur Twitter
        Retrouvez-moi aussi sur Zeste de SavoirTutoriel WAMP • Nouvelle F.A.Q. PHP
          23 janvier 2018 à 8:21:36

          Voici le formulaire 

          <formmethod="post"action="reception.php"enctype="multipart/form-data">
          <labelfor="icone">Icône du fichier (JPG, PNG ou GIF | max. 15 Ko) :</label><br/>
          <inputtype="file"name="icone"id="icone"/><br/>
          <labelfor="mon_fichier">Fichier (tous formats | max. 1 Mo) :</label><br/>
          <inputtype="hidden"name="MAX_FILE_SIZE"value="1048576"/>
          <inputtype="file"name="mon_fichier"id="mon_fichier"/><br/>
          <labelfor="titre">Titre du fichier (max. 50 caractères) :</label><br/>
          <inputtype="text"name="titre"value="Titre du fichier"id="titre"/><br/>
          <labelfor="description">Description de votre fichier (max. 255 caractères) :</label><br/>
          <textareaname="description"id="description"></textarea><br/>
          <inputtype="submit"name="submit"value="Envoyer"/>
          </form>

          Comment ça les droits en écriture Monsieur elyppire ?

          Justement j'ai lu le cour de l'apload deux fois mais je n'ai pas bien compris. C'est bon je bloque. 😢

          Je suis désespéré de moi même.

          Merci à vous les amis


          -
          Edité par -L0Lock- 23 janvier 2018 à 11:26:39

          • Partager sur Facebook
          • Partager sur Twitter
          Tuba
            23 janvier 2018 à 9:39:26

            Sur le code PHP que tu montre tu traite les erreurs. C'est bien, mais où est la fonction move_uploaded_file qui elle seule va uploader le fichier ?
            • Partager sur Facebook
            • Partager sur Twitter
            Retrouvez-moi aussi sur Zeste de SavoirTutoriel WAMP • Nouvelle F.A.Q. PHP
            Anonyme
              Staff 23 janvier 2018 à 11:31:08

              Bonjour CrazyGirl1. Il faut vraiment utiliser l'outil d'insertion de code sur ce forum. Là tu avais visiblement copie-collé ton code depuis un éditeur, mais ça restait gloalement illisible et l'outil de code du forum permettra des choses que du simple texte ne peut pas. J'ai modifié pour cette fois, tâches de bien le faire les prochaines fois.
              • Partager sur Facebook
              • Partager sur Twitter

              FAQ 3D || 3DFR: discord francophone d'infographie 3D || Pas de demande d'aide par MP, le forum est là pour ça :)

                23 janvier 2018 à 11:44:20

                C'est ton code de formulaire? Si c'est le cas il manque des espaces dans tes balises.
                • Partager sur Facebook
                • Partager sur Twitter
                  23 janvier 2018 à 13:09:12

                  coolswing a écrit:

                  C'est ton code de formulaire? Si c'est le cas il manque des espaces dans tes balises.


                  Non ça je pense que c'est la modif du staff. Avant c'était correct mais illisible, ça l'a rendu lisible mais incorrect !
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Retrouvez-moi aussi sur Zeste de SavoirTutoriel WAMP • Nouvelle F.A.Q. PHP
                    23 janvier 2018 à 13:17:31

                    Salut,

                    Tu peux simplifier cette ligne : 

                    $extension_upload = strtolower(  substr(  strrchr($_FILES['icone']['name'], '.')  ,1)  );

                    Par pathinfo

                    $extension_upload = pathinfo($_FILES['icone']['name'], PATHINFO_EXTENSION);



                    Tu peux également remplacer le 0 :

                    if ($_FILES['icone']['error'] > 0) $erreur = "Erreur lors du transfert";

                    Par la constance UPLOAD_ERR_OK (t'en qu'à faire autant utiliser les constantes php :) )

                    if ($_FILES['icone']['error'] != UPLOAD_ERR_OK) $erreur = "Erreur lors du transfert";

                     Ensuite, qu'est ce qui ne fonctionne pas ? 

                    Au plaisir,

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      Staff 23 janvier 2018 à 13:33:34

                      elyppire a écrit:

                      coolswing a écrit:

                      C'est ton code de formulaire? Si c'est le cas il manque des espaces dans tes balises.


                      Non ça je pense que c'est la modif du staff. Avant c'était correct mais illisible, ça l'a rendu lisible mais incorrect !


                      Weird. Pourtant je n'ai pas touché au code. 🤔
                      • Partager sur Facebook
                      • Partager sur Twitter

                      FAQ 3D || 3DFR: discord francophone d'infographie 3D || Pas de demande d'aide par MP, le forum est là pour ça :)

                      Upload de fichiers par formulaire ne marche pas

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown