Insérer une image dans une base de données MySQL

نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
في: آب 26, 2009, 10:26:17 صباحاً
   En cinq points, voici comment faire pour insérer une image dans une base de données
1/ Créez le formulaire de chargement:
  Ce script sera 'formulaire.html' et est composé tel que:
  <html>
  <form action=inserer_image.php" method="post" enctype="multipart/formdata">
  Image
  <br />
  <input type="hidden" name="MAX_FILE_SIZE" value="300000" />
  <input type="file" name="image" size="12"/>
  <input type="submit" value="Ajouter"/>
  form>
  html>
  2/ Mise en place de la table MySQL:
  Créez une base se nommant 'test' dans laquelle vous créez une table 'image' et y ajouter 5
  champs tels que:
  - champ: id | type: INT | extra: auto_increment
  - champ: donnees_binaires | type: LONGBLOB
  - champ: nom_fichier | type: TEXT
  - champ: taille_fichier | type: TEXT
  - champ: type_fichier | type: TEXT
  3/ Script d'ajout d'une image:
  Ce script sera 'inserer_image.php' et est composé tel que:
  <?php
  // connexion à la base de données:
  mysql_connect("localhost","utilisateur","motdepasse");
  mysql_select_db("test");
  // récolte des données du fichier:
  $image_tmp = $_FILES["image]["tmp_name"];
  $image_name = $_FILES["image"]["name"];
  $image_size = $_FILES["image"]["size"];
  $image_type = $_FILES["image"]["type"];
  // ajout dans la table:
  $donnees = addslashes(fread(fopen($image_tmp, "r"), $image_size));
  $result = mysql_query("INSERT INTO image (donnees_binaires,nom_fichier,taille_fichier,type_fichier)
  VALUES ('$donnees','$image_name','$image_size','$image_type')");
  $id = mysql_insert_id();
  mysql_close();
  ?>
  4/ Affichage de l'image:
  Ce script sera 'afficher_image.php' et est composé tel que:
  <?php
  // connexion à la base de données:
  mysql_connect("localhost","utilisateur","motdepasse");
  mysql_select_db("test");
  // on récolte les données contenues dans la table:
  $requete = mysql_query ("SELECT * FROM image WHERE id='$id'");
  $data = mysql_fetch_array ($requete);
  $id = $data["id"];
  $donnees_binaires = $data["donnees_binaires"];
  $type_fichier = $data["type_fichier"];
  header ( "contenttype:
  $type_fichier");
  print "$donnees_binaires";
  ?>
  5/ Le lien vers l'image:
  Ce code afficher l'image directement où vous l'insérez.
  <?php
  print "<img src='afficher_image.php?id=$id'/>";
  ?>
  Au final, vous avez 3 fichiers (formulaire.html, inserer_image.php et afficher_image.php) et une
  base 'test' contenant une table 'image'.
  Vous voilà avec de beaux scripts propres et fonctionnels, maintenant à vous d'en faire bon usage!
 


يوسف الضادي

  • Hero Member
  • *****
    • مشاركة: 5333
    • مشاهدة الملف الشخصي
    • http://www.sou9dz.com
    • البريد الالكتروني
رد #1 في: آب 28, 2009, 01:12:42 مسائاً
شكرا و بارك الله فيك
مميز جدا

سبحان الله و بحمده سبحان الله العظيم


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #2 في: آب 28, 2009, 06:01:29 مسائاً
شكرا اخ يوسف على المرور الطيب

بارك الله فيك