Images ds mysql

fei -  
 yooo -
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!
A voir également:

1 réponse

Canard007 Messages postés 5936 Statut Contributeur 215
 
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.
2
broly
 
sympa le copier/coller canard007 tu aurais pu donner le lien du site à la place ...
0
myself moi même en personne > broly
 
0
yooo
 
lol
0