Partage
  • Partager sur Facebook
  • Partager sur Twitter

Formulaire d'upload

de fichiers fdp

    10 février 2006 à 16:12:42

    Bonjour à tous,

    Voilà je fais appel à vous parce que j'ai un problème concernant un formulaire d'upload de fichiers pdf sur mon serveur...

    Pouvez-vous m'aider à y voir plus clair svp ^^

    <?
    $poids_max = 512000;
    $repertoire = '../uploads/';
    if (isset($_FILES))
    {
       if ($_FILES['type'] != 'pdf')
       {
          $erreur = 'Le fichier doit être au format : *.pdf';
       }
       elseif ($_FILES['size'] > $poids_max)
       {
          $erreur = 'Le document doit être inférieur à ' . $poids_max/1024. 'Ko.';
       }
       elseif (!file_exists($repertoire))
       {
          $erreur = 'Erreur, le dossier de destination n\'existe pas.';     
       }
       if(isset($erreur))
       {
          echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
       }
       else
       {
          if ($_FILES['type'] == 'pdf')
          {
             $extention = '.pdf';
          }
          $nom_fichier = time().$extention;
          if (move_uploaded_file($_FILES['tmp_name'], $repertoire.$nom_fichier))
          {
             $url = 'url/'.$repertoire.''.$nom_fichier.'';
             echo 'LE document a bien été uploadée sur le serveur!<br>Voici le lien pour le visualiser: <input type="text" value="' . $url . '" size="60">';
          }
          else
          {
             echo 'Le document n\'a pas pu être uploadée sur le serveur.';
          }     
       }   
    }
    else
    {
       ?>
       <form method="post" enctype="multipart/form-data">
          <input type="hidden" name="MAX_FILE_SIZE" value="<? echo $poids_max; ?>">
          <input type="file" name="fichier">
          <input type="submit" value="Envoyer">
       </form>
       <?
    }
    ?>



    €dit: je me suis trompé dans le titre, excusez-moi : fichier pdf
    • Partager sur Facebook
    • Partager sur Twitter
      10 février 2006 à 17:02:32

      heu en fait je ne pense pas que la variable FILES['type'] existe... tu devrais faire ca pour mettre l'extention dans un fichier:

      $extention = strtolower(substr($_FILES['fichier']['name'],strrpos($_FILES['fichier']['name'], ".")+1));

      voila si tu a besoin d'explications dit le!!
      • Partager sur Facebook
      • Partager sur Twitter
        10 février 2006 à 19:42:36

        euh j'avoue que je comprends pas grand chose là...

        Tu pourrais me dire ce que je dois modifier et surtout pourquoi,

        merci beaucoup ;)
        • Partager sur Facebook
        • Partager sur Twitter
          10 février 2006 à 20:11:05

          Alor déja quand tu recois un fichier, tu le recois sous la forme:
          $_FILES['nom de ton <input type="file">']['et la les différentes informations']
          Ensuite tu fais :


          $extention = strtolower(substr($_FILES['fichier']['name'],strrpos($_FILES['fichier']['name'], ".")+1));


          pour diviser le nom du fichier en 2 parties : le nom et l'extension puis pour mettre l'extension en minuscule. Tout cela est enregistrée dans la variable $extension.

          bon j'y vais j'espère que tu a compris ^^


          • Partager sur Facebook
          • Partager sur Twitter
            11 février 2006 à 10:19:11

            j'ai un peu bidouiller mon code et j'en suis arriver à ça mais je n'y arrive toujours pas...

            <?
            $poids_max = 512000;
            $repertoire = '../upload/';
            if (isset($_FILES['fichier']))
            {
               if ($_FILES['size'] > $poids_max)
               {
                  $erreur = 'Le document doit être inférieur à ' . $poids_max/1024 . 'Ko.';
               }
               else if (!file_exists($repertoire))
               {
                  $erreur = 'Erreur, le dossier de destination n\'existe pas.';     
               }
               if(isset($erreur))
               {
                  echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
               }
               else
               {
                 
                  if (move_uploaded_file($nom_fichier, $repertoire))
                  {
                     $url = 'url/admin/'.$repertoire.$nom_fichier.'';
                     echo 'Le document a bien été uploadée sur le serveur!<br>Voici le lien pour le visualiser: <input type="text" value="' . $url . '" size="60">';
                  }
                  else
                  {
                     echo 'Le document n\'a pas pu être uploadé sur le serveur.';
                  }     
               }   
            }
            else
            {
               ?>
               <form method="post" enctype="multipart/form-data"/>
                  <input type="hidden" name="size" value="<? echo $poids_max; ?>"/>
                  <input type="file" name="fichier"/>
                  <input type="submit" value="Envoyer"/>
               </form>
               <?
            }
            ?>
            • Partager sur Facebook
            • Partager sur Twitter
              13 février 2006 à 13:05:25

              Fait comme ca... normalement ca devrais marcher


              <?
              $poids_max = 512000;
              $repertoire = './upload/';
              if (isset($_FILES['fichier']))
              {
                 if ($_FILES['fichier']['size'] > $poids_max)
                 {
                    $erreur = 'Le document doit être inférieur à ' . $poids_max/1024 . 'Ko.';
                 }
                 else if (!file_exists($repertoire))
                 {
                    $erreur = 'Erreur, le dossier de destination n\'existe pas.';     
                 }
                 if(isset($erreur))
                 {
                    echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
                 }
                 else
                 {
                   
                    if (move_uploaded_file($_FILES['fichier']['tmp_name'], ./upload/{$_FILES['fichier']['name']}))
                    {
                       $url = 'url/admin/'.$repertoire.$_FILES['fichier']['name'].'';
                       echo 'Le document a bien été uploadée sur le serveur!<br>Voici le lien pour le visualiser: <input type="text" value="' . $url . '" size="60">';
                    }
                    else
                    {
                       echo 'Le document n\'a pas pu être uploadé sur le serveur.';
                    }     
                 }   
              }
              else
              {
                 ?>
                 <form method="post" enctype="multipart/form-data"/>
                    <input type="hidden" name="size" value="<? echo $poids_max; ?>"/>
                    <input type="file" name="fichier"/>
                    <input type="submit" value="Envoyer"/>
                 </form>
                 <?
              }
              ?>


              Voila
              • Partager sur Facebook
              • Partager sur Twitter

              Formulaire d'upload

              × 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