Posez votre question Signaler

Images ds mysql

fei - Dernière réponse le 8 févr. 2011 à 10:30
bonjour a tous !
j'aimerais savoir comment fait on pour insérer des images dans une base de donné telque mysql?
jai utilisé champs de type BLOB mais ca ne marche pas !

jaimerais ensuite itilisé ces photo pour les insérer dans des tableaux

merci d'avance!
Lire la suite 

Images ds mysql »

4 réponses
Réponse
+2
moins plus
le plus simple c'est à mon avis d'uploader l image (dans la cas d'une page web) et de donner le chemin d accé dans ta base sous forme de chaine de caratere...car franchement si il y a beaucoup d images cela risque de ralentir considerablement tes requetes.

Enfin si tu persiste voila quelques lignes de code et du commantaire cela pourra sans doute t 'aider ;-)

Stocker directement des images avec MySQL
Il nous faut créer une base (nous l'appellerons "essai") et une table (nous l'appellerons "images_binaires") qui comprendra les champs suivants: id (un entier), donnees_binaires (type MySQL LONGBLOB), nom_fichier (une chaîne), taille_fichier (une chaîne), type_fichier (une chaîne), et, éventuellement, un champ description (une chaîne). On n'oubliera pas de préciser "auto_increment" pour l'identifiant. Nous allons insérer les images dans la base à l'aide, par exemple, d'un formulaire HTML. Il ressemblera à:

<form method="post" action="inserer_image.php" enctype="multipart/form-data">
Nom du fichier: <input type="file" name="image" size="40">
<br><input type="submit" name="ok">
</form>

Notre programme inserer_image.php sera alors le suivant:

<?php
mysql_connect("","root","");
mysql_select_db("essai");
$donnees = addslashes(fread(fopen($image, "r"), filesize($image)));
$result=mysql_query("INSERT INTO images_binaires (donnees_binaires,nom_fichier,taille_fichier,type_fichier) VALUES ('$donnees','$image_name','$image_size','$image_type')");
$id= mysql_insert_id();
print "<br>Indentifiant du fichier dans la base: $id<br>";
mysql_close();
?>


Un petit programme php, afficher_image.php, va permettre de récupérer l'image dans la base:

<?php
@mysql_connect("","root","");
@mysql_select_db("essai");
$requete = "SELECT donnees_binaires,type_fichier FROM images_binaires WHERE id=$id";
$resultat = @mysql_query($requete);
$donnees = @mysql_result($resultat,images_binaires.donnees_binaires);
$type = @mysql_result($resultat,0,images_binaires.type_fichier);
header( "content-type: $type");
echo $donnees;
?>

On appellera ce programme avec une instruction HTML du type:

<img src="afficher_image.php"?id=identifiant>

où l'on précisera l'identifiant correspondant.
broly - 13 janv. 2009 à 10:44
sympa le copier/coller canard007 tu aurais pu donner le lien du site à la place ...
myself moi même en personne - 5 févr. 2009 à 15:02
check this => http://www.journaldunet.com/developpeur/tutoriel/php/010723php_bddimages.shtml
yooo - 8 févr. 2011 à 10:30
lol
Ajouter un commentaire
Ce document intitulé « images ds mysql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?