Partage
  • Partager sur Facebook
  • Partager sur Twitter

formulaire

joindre photo

    8 mars 2007 à 17:59:09

    Bonjour j'ai lu dans le tutos qu'on pouvais dans un formulaire proposer de joindre des photos
    je croi meme que c'étais avec $_FILE mais se n'est pas expliquer, quelq'un sait t'il comment sa s'utilise???
    merci
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2007 à 18:09:45

      Salut,
      oui c'est bien $_Files, dans le formulaire:

      <input type="file" name="icone" id="icone" /><br />
      <input type="hidden" name="size_max" value="1048576" />

      Le champs caché size_max, sert à déterminer le poid maximum des fichiers

      et après dans une page de traitement (ou la meme):

      if(!empty($_FILES['icone'])){//test si le formulaire à été rempli
      $extensions_ok = array('bmp', 'gif', 'jpg', 'jpeg', 'png');
      $taille_max = $_POST['size_max'];


      //Test pour voir si tout est valide
      if( !in_array( substr(strrchr($_FILES['icone']['name'], '.'), 1), $extensions_ok ) )
              {    $erreur = '<p class="erreur">Le fichier ou le format est invalide</p>';    }
      $nom_temp = $_FILES['icone']['name'];
      elseif( file_exists($_FILES['icone']['tmp_name'])         
              and filesize($_FILES['icone']['tmp_name']) > $taille_max) {
              $extension = substr( strrchr($_FILES['icone']['name'], '.') ,1);//recherche de l'extention
              $nom_img = "Photo_$num_img.$extension";//C'était pour moi
              $dest_fichier = basename($nom_img);//Nom de destination
              // formatage nom fichier   
              // copie du fichier   
               move_uploaded_file($_FILES['icone']['tmp_name'], $dest_dossier . $dest_fichier);
               mysql_query('INSERT INTO image VALUES("", "' . $date . '", "' . $pseudo . '", "' . $email . '", "' .$titre . '", "' .$description . '", "' .$nom_img . '", "' .$nom_temp . '", "' .$valide . '")')
               mysql_close();



      Bon voila n gros, c'est juste a titre d'exemple, essais pas de faire un copier/coller, parce que c'est juste des bout de codes mis les un derière les autres :p
      • Partager sur Facebook
      • Partager sur Twitter
        8 mars 2007 à 18:13:29

        Un truc vite fait :
        <?php
        if(isset($_POST['envoyé'])) {
            $dossier = 'upload_fichiers';
            if(!is_dir($dossier)) {
                mkdir($dossier);
            }
            move_uploaded_file($_FILES['file']['tmp_name'], $dossier.'/'.time().'-'.$_FILES["file"]["name"]);
            echo '<a href="'.$dossier.'/'.time().'-'.$_FILES["file"]["name"].'">accéder au fichier !</a>';
        }
        else {
            ?>
            <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
            <input name="file" type="file"/>
            <input type="submit" name="envoyé" />
            </form>
            <hr/>
            <?php
        }
        ?>
        • Partager sur Facebook
        • Partager sur Twitter
          8 mars 2007 à 18:30:38

          oula le premier a l'air bien compliquer je suppose que y a plus de securiter que sa empeche que on puisse nous envoyer n'importe quoi a par des photo???
          • Partager sur Facebook
          • Partager sur Twitter
            8 mars 2007 à 18:36:53

            Si tu veux qu'on ne t'envoie que des photos, bah il "suffit" de :
            - Verifier l'extension du fichier (pas de php, html...)
            - Si l'extension est bonne, tenter d'obtenir des infos sur le type mime, avec getimagesize...
            • Partager sur Facebook
            • Partager sur Twitter

            formulaire

            × 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