Stocker l'URL d'une image ds BD + affichage

Bonjour,
Je cherche en vain un script qui pourra m'aider à stocker dans ma base de donnée l'URL d'une image que je mettrai sur le serveur et l'afficher par la suite. Quelqu'un pourrai bien m'aidé?
J'ai deja creer un formulaire dont voici le code:

<form name="form1" method="post" action="upload.php"
enctype="multipart/form-data">
<table width="35%" border="0" cellspacing="5">
<tr>
<td width="9%">Nom :</td>
<td width="91%"><input type="text" name="nom"></td>
</tr><tr>
<td width="9%">Prenom :</td>
<td width="91%"><input type="text" name="prenom"></td>
</tr><tr>
<td width="9%">Age</td>
<td width="91%">
<input type="text" name="age" ></td>
</tr><tr>
<td width="9%">Fichier :</td>
<td width="91%"><input type="file" name="fichier"></td>
</tr><tr>
<td width="9%"></td>
<td width="91%">
<input type="submit" name="Submit" value=" Valider ">
</td>
</tr>
</table>
</form>

Je cherche le script php qui va uploader le fichier et le mettre sur le serveur et ensuite le script afficher.
NB: On peut enregistrer le nom , prenom et revenir mettre apres l'image si on veut.
Quelqu'un pourrai bien m'aider?
merci bcp de l'aide. C'est un projet qui me tien a coeur.
Configuration: Windows XP
Firefox 3.0.11

8 réponses

  1. Bonjour,

    Voici le code qu'il vous faut dans votre fichier upload.php

    <?php
    $uploads_dir = '/uploads';
    
    $tmp_name = $_FILES["fichier"]["tmp_name"];
    $name = $_FILES["pictures"]["name"];
    move_uploaded_file($tmp_name, "$uploads_dir/$name");
    
    ?>
    
    


    Pour récupérer le nom du fichier pour votre BDD, vous utilisez la variable $name

    Cordialement,

    Yohan
    1
    1. Merci Yahan pr votre réponse.
      mais comment enregistrer l'URL (le chemin de l'image) dans ma base? Et a l'affichage c'est comment? Je suis mélangé.
      Merci encore
      0
  2. Svp j'attend tujours une reponse.
    merci
    0
    1. Bonsoir Pas de reponse pour moi? Ca urge
      0
      1. Dans ce cas vous utilisez : $uploads_dir/$name

        Cdl,

        Yohan
        0
        1. Vous pouvez etre plus precis svp? Je suis pas pros PHP.
          0
      2. Regardez dans le code que je vous ai donné, vous avez dans la fonction move_uploded_file, le chemin de destination sur votre serveur, c'est celui-ci qui doit être stocké dans votre BDD pour pouvoir l'afficher. Cette composition de variable s'apelle $uploads_dir/$name

        Vous devez donc stocker le contenu de cette variable dans votre BDD

        Cordialement,

        Yohan
        0
        1. Ok merci Yoyan.
          Dc si je comprend bien en faisant un insert into table value ( $nom, $prenom, $uploads_dir/$name ); ca doit marché?
          Aussi comment faire de tel sorte pour que l'enregistrement de l'image ne soit pas obligatoire? permettre de mettre l'image apres avec une mise a jour??

          Merci
          0
      3. Utilisez plutôt $uploads_dir.'/'.$name pour ne pas avoir d'erreur.

        Je ne comprend pas votre seconde question.

        Cdt,

        Yohan
        0
        1. Ok
          Pour la seconde question, le champ image n'es pas obligatoire. On peut le renseigner après. Mais les autres champs du formulaire st obligatoire. Alors es-ce possible de mettre du NULL?
          J'espère etre un peu preci
          0
      4. Utilisez dans ce cas :

        <?php
        if (isset($_FILES["fichier"]))
        {
        $uploads_dir = '/uploads';
        
        $tmp_name = $_FILES["fichier"]["tmp_name"];
        $name = $_FILES["pictures"]["name"];
        move_uploaded_file($tmp_name, "$uploads_dir/$name");
        }
        ?>
        
        


        le isset sert a savoir si la variable à été innitialisée, si c'est le cas ca veut dire que qqn a poster une image dans ce cas nous utilisons l'upload de fichier sinon il ne sert pas !

        Cdt,

        Yohan
        0
        1. Merci. je pose bcp de question, desolé.
          <?php
          if (isset($_FILES["fichier"]))
          {
          $uploads_dir = '/uploads';

          $tmp_name = $_FILES["fichier"]["tmp_name"];
          $name = $_FILES["pictures"]["name"];
          move_uploaded_file($tmp_name, "$uploads_dir/$name");
          $nom=$_post['nom'];
          $age=$_post['age'];
          $prenom=$_post['prenom'];

          }
          ?>
          Es-ce possible d'ajouter ce qui es en gras??

          Pour l'affichage, j'espère que ca posera pas de problème.
          0
      5. Oui c'est possible.

        Après à vous d'effectuer des tests et de voir ce qui vous convient le mieux ;)

        Cdt,

        Yohan
        0
        1. Vraiment merci bcp
          Je me met au travail et je vs dirai par la suite ce que ca donne. Bonne journée
          Ha: je précise que ce sont des images que je veux stocker. On n'a pas besoin des extension???
          Merci infiniment
          0