upload de fichiers

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload de fichiers

par chrileb » 01 sept. 2005, 14:53

oui ou vérifier si le fichier n'existe pas déja avant de le copier sur le serveur pour ca il existe la fonction file_exists

cf http://fr3.php.net/function.file-exists

par iclo » 01 sept. 2005, 08:47

Il faur renomer les fichiers lors de leur upload, par un nom unique.

par R@ph » 01 sept. 2005, 06:35

Bonjour.

J'utilise ce script, mais je me suis retrouvé face à un probleme.

Si 2 utilisateurs différents envoient un fichier du même nom, le premier fichier sera remplacé par celui du 2nd utilisateur.

Donc ma question est : est-il possible d'eviter ceci en ajoutant quelque chose dans le script?

Merci.

par pjl » 31 août 2005, 14:26

Merci chrileb !! :)

juste une question : quelle est la différence entre $dest-dossier et tmp_name ?
les deux sont-ils différents ?

merci. :pouce:
Toi, tu n'as pas lu ce tutau là : http://www.phpfrance.com/tutoriaux/inde ... e-fichiers

par ALéna » 31 août 2005, 13:42

s'il vous plaît...
:)

par Aléna » 30 août 2005, 18:04

Merci chrileb !! :)

juste une question : quelle est la différence entre $dest-dossier et tmp_name ?
les deux sont-ils différents ?

merci. :pouce:

par chrileb » 30 août 2005, 17:47

voila un script php qui permet d'uploader des images
normalement tu as juste a modifier la valeur de la $dest_dossier et mettre le chemin de ton repertoire image
<?php
//...
if(isset($_FILES['photo'])){
             // params
             unset($erreur);  $extensions_ok = array('png', 'gif', 'jpg', 'jpeg');  $taille_max = 100000;  $dest_dossier = '';
             // utilisez également des slashes sous windows :
             $categ=$_REQUEST['categ'];
             $titre=$_REQUEST['titre'];
             $commentaire=$_REQUEST['commentaire'];
             $nom_rep=  strtr($titre,     'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',     'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
             $nom_rep=  preg_replace('/([^.a-z0-9]+)/i', '_', $nom_rep);
             $dest_dossier  = "../images/$categ/$nom_rep/";
             if (!is_dir($dest_dossier))
             {
             mkdir ($dest_dossier);
             }
             // vérifications
             if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok ) )
             {
                  $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
             }
             elseif (file_exists($_FILES['photo']['tmp_name'])           and filesize($_FILES['photo']['tmp_name']) > $taille_max)
             {
                 $erreur = 'Votre fichier doit faire moins de 500Ko !';
             }
             // copie du fichier
             if(!isset($erreur))  {
                     $dest_fichier = basename($_FILES['photo']['name']);
                 // formatage nom fichier
                 // enlever les accents
                 $dest_fichier = strtr($dest_fichier,     'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',     'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
                 // remplacer les caracteres autres que lettres, chiffres et point par _
                 $dest_fichier = preg_replace('/([^.a-z0-9]+)/i', '_', $dest_fichier);
                 // copie du fichier
                  move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
                  echo "la photo a bien été envoyée";
             }
et le code html
<form method="POST" action="upload_photo.php" enctype="multipart/form-data">

      <input type="hidden" name="MAX_FILE_SIZE" value="500000" />
      <table>
       <tr><td>Catégorie :</td><td><select id="categ" name="categ">
    <option value="categ1">categ1</option>     
    <option value="categ2">categ2</option>     

       </select></td></tr>
      <tr><td>Titre :</td><td><input type="text" name="titre" value="<?if (isset($titre)){echo $titre;}?>"/></td></tr>
      <tr><td>Photo :</td><td><input type="file" name="photo" /></td></tr>
      <tr><td>Commentaire :</td><td><input type="text" name="commentaire" /></td></tr>
      <tr><td></td><td></td></tr>
      <tr><td colspan="2"><input type="submit" name="envoi" value="Envoyer les fichiers" /></td></tr>
      </table>
      </form>

upload de fichiers

par Aléna » 30 août 2005, 17:40

Bonjour,

J'ai un soucis quant au téléchargement des fichiers (photos par exemple) à partir d'un formulaire. Je ne sais tout simplement pas comment faire pour le fichier soit téléchrgé puis affiché sur ma page.

Si quelqu'un peu m'aider, en m'expliquant la chose très simplement (je ne suis pas une craq en la matière) ça serait vraiment sympa.

Merci d'avance

:P