IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Récupération d'un nom de fichier lors de l'upload


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 160
    Points : 49
    Points
    49
    Par défaut Récupération d'un nom de fichier lors de l'upload
    Salut
    j ai un petit probleme pour inserer une image dans une table.

    j ai suivi un tutoriel.

    En fait, je saisi les données (le chemin d'une image) dans marque.php et j essayes de faire le traitement dans ajoutmarque.php. je n'arrive pas a recupere le nom du fichier avec $_FILE
    Pouvez vous m aider en fournissant une indication? Merci

    Les fichiers sont en piece jointe

    Cordialement a vous
    Fichiers attachés Fichiers attachés

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par adel25 Voir le message
    Salut
    j ai un petit probleme pour inserer une image dans une table.
    j ai suivi un tutoriel.
    En fait, je saisi les données (le chemin d'une image) dans marque.php et j essayes de faire le traitement dans ajoutmarque.php. je n'arrive pas a recupere le nom du fichier avec $_FILE
    Pouvez vous m aider en fournissant une indication? Merci
    Cordialement a vous
    Bon j'ais arrangé ça chez moi sur un serveur, mais j'ais besoins de précisions,
    les gens qui vont utiliser ça sont supposés avoir chez eux (sur leur micro ) une image pas trop lourde, je supposes un jpeg , imposes tu une taille genre 120*120

    Donc ils te donnent un nom de marque de voiture
    le pays et l'image du sigle !

    Trés bien alors toi tu veux que ton PHP
    1) saisisse les données du client, et l'endroit de son DD ou est le sigle
    2) copier le sigle sur le serveur, dans quel repertoire par rapport a la racine de ton site je supposes /sigle dont la protection est 777 (chgmod)
    pour pouvoir copier des images.
    3) enregistre dans une base de donnée MYSQL, La marque, le pays, et enfin le chemin du fichier copié par exemple "sigle/peugeot303sx.jpg"

    Dis moi si j'ais tout compris, ça me permettra de corriger ton PHP

  3. #3
    FoxLeRenard
    Invité(e)
    Par défaut
    Bon comme je dois partir un petit moment,
    Je supposes que mes descriptions étaient bonnes donc je te donnes en ayant protégé les POST etc ...
    tes deux PHP, a toi d' y remettre tes MYSQL


    AJOUT.PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <html><body>
    <br />
    <h2><p align=center>ajouter une marque de voiture</p></h2><br />
    <p align=center>
    <form action='ajoutmarque.php' method='post' enctype='multipart/form-data' name='form1'>
    <b>Marque:</b><br>
    <input type="text" name="marque" id="marque" size="64"><br><br>
    <input type="hidden" name="MAX_FILE_SIZE" value="40000" />
    <br />
    <b>Sigle:</b><br />
    <b>  Attention vos images doivent imperativement avoir<br />
         TAILLE 100 x 100 poid maximum 60 Kilo Octets ...<br />
    <br>   <input type="file" name="Limgx" /><br />
    <b>pays:</b><br />
    <SELECT name="pays">
    <option>toto</option>
    <option>machin</option>
    <option>truc</option>
    </SELECT><br>
    <br><br><br>
    <br>   <input type="submit"  value="Envoyer" /> 
    </b><br /></form>
    <br /></p>
    </body></html>
    AJOUTMARQUE.PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <?php
    $hauteur_max="100";
    $largeur_max="100"; 
    $poid_max="60000";
    $destin="sigle/"; 
     
    if (isset($_POST["marque"])) $marque=trim($_POST["marque"]);
        else $marque="";
     
    if (isset($_POST["pays"])) $pays=trim($_POST["pays"]);
        else $pays="";
     
    $taille = getimagesize($_FILES['Limgx'][tmp_name]);
    $h_i = $taille[1]; 
    $w_i = $taille[0]; 
    $poid = filesize($_FILES['Limgx']['tmp_name']); 
    $message="";
    $imtype = 0;
    if(substr($_FILES['Limgx'][name],-3) =="jpg") {$imtype = 1;$ext="jpg";}
    if(substr($_FILES['Limgx'][name],-3) =="png") {$imtype = 2;$ext="png";}
    if(substr($_FILES['Limgx'][name],-3) =="gif") {$imtype = 3;$ext="gif";}
     
    if ($h_i!=$hauteur_max || $w_i!=$largeur_max) $message=" l image n est pas au format 120 * 120 elle est de ".$w_i."   ".$h_i." ";
    if ($poid>$poid_max) $message=" l image est trop lourde ... 60 Ko maxi";
     
    if ($h_i==$hauteur_max && $w_i==$largeur_max && $poid<=$poid_max && $message=="")
     {
      // === on supprime les accents et les espaces du nom de l'image 
      $_FILES['Limgx']['name'] = strtr($_FILES['Limgx']['name'],  "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ",   
       "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");  
      // === on supprime les espaces
      $imagez=str_replace(" ","_",$_FILES['Limgx']['name']);
      $imagez=strtolower($imagez); 
      // == faire le nom
      $newnom=$imagez;
     
      if (file_exists($destin.$newnom))
         {
            $message="L image est déjas sur le site web";
         }
         else
          {
          copy($_FILES['Limgx']['tmp_name'],$destin.$newnom);
          $message="L image ".$newnom." est copiee en ".$destin." ";
         }
       }
    echo ("<br />".$message."<br />");
    echo ("".$marque."<br />");
    echo ("".$pays."<br />");
    echo ("Type image ".$imtype." ".$ext."<br /> ");
    ?>

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 160
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    Merci pour votre reponse!

    En fait, mon objectif est d'enregistrer l'image dans une base de donnée. J'ai prévu un champ sigle du type blob pour ca

    Merci

Discussions similaires

  1. script batch - récupération d'un nom de fichier
    Par persam dans le forum Windows
    Réponses: 1
    Dernier message: 19/07/2007, 10h45
  2. Récupération d'un nom de fichier et d'un répertoire
    Par laurentdepibrac dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/07/2007, 10h36
  3. Pb nom du fichier lors d'un téléchargement forcé
    Par wolfe dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2007, 10h49
  4. [RegEx] Récupération d'un nom de fichier
    Par cbb51800 dans le forum Langage
    Réponses: 5
    Dernier message: 14/11/2006, 09h36
  5. Récupération d'un nom de fichier
    Par chmaichel dans le forum Delphi
    Réponses: 17
    Dernier message: 10/07/2006, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo