Php image blob mysql

Soyez le premier à donner votre avis sur cette source.

Snippet vu 56 039 fois - Téléchargée 28 fois

Contenu du snippet

salut a tous, après de long heure a chercher...... bref
Voici le code qui vous premet d'inserer une image dans votre base de donnée dans un champ de type "Bloab". mais aussi le code qui vous permet de lire l'image

Source / Exemple :


//pour la base de donnée sa sera ainsi le code :
/*
CREATE TABLE test (
   num_img int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
   data_img blob NOT NULL,
   PRIMARY KEY (num_img),
   KEY num_img (num_img)
);

  • /
// pour le code alors ca va etre ainsi : <? mysql_connect("localhost","",""); mysql_select_db("le_nom_de_votre_base"); $img = "image.jpg"; $fp = fopen($img,"r"); $data = fread($fp,filesize($img)); fclose($fp); $data = addslashes($data); mysql_query("INSERT INTO test (data_img) VALUES ('$data')"); // pour la lecture des données <?php $connexion=mysql_connect("localhost","",""); mysql_select_db("db",$connexion); $requete="select data_img from test where num_img=1"; $resultat=mysql_query($requete,$connexion); $tableau=mysql_fetch_array($resultat); mysql_close($connexion); $image=$tableau[0]; $fichier=fopen("image/img_tmp.jpg","w"); fwrite($fichier,$image); fclose($fichier); ?> <img src="image/img_tmp.jpg"> // Bonne chanse

Conclusion :


alors pour tous vous dire le code se trouver sur :
http://www.coppoweb.com/dev/astuces_php/trucs_1.php#7
merci pour celui qu'il la poser.

http://www.phpquebec.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=466&forum=6

A voir également

Ajouter un commentaire

Commentaires

rexavry
Messages postés
2
Date d'inscription
dimanche 23 novembre 2008
Statut
Membre
Dernière intervention
30 septembre 2009

slt altavista je viens d'executer ton code sur mon projet pour afficher une image stocker
dans la base de donnée dont le type de champ est blob
mrc si tu peux le corrigé
cs_Astalavista
Messages postés
192
Date d'inscription
lundi 24 décembre 2001
Statut
Membre
Dernière intervention
3 février 2010

Dans le principe, pour l'afficher directement, il suffit de fair le bonne header avec le type image et afficher :
header("Content-type: image/jpeg");
$connexion=mysql_connect("localhost","","");
mysql_select_db("db",$connexion);
$requete="select data_img from test where num_img=1";
$resultat=mysql_query($requete,$connexion);
mysql_close($connexion);
echo mysql_result($resultat, 0);
die(0);
kiki9741
Messages postés
9
Date d'inscription
lundi 10 juillet 2006
Statut
Membre
Dernière intervention
4 juillet 2007

Ne pas oublier la balise alt="" conformément au W3C
mehdi7604
Messages postés
120
Date d'inscription
jeudi 11 mai 2006
Statut
Membre
Dernière intervention
6 mars 2015

Vous copiez tous le meme code, pas de nouveau , je cherche à afficher l'mage directement sans créer de fichier et sans utiliser herader(...) , qqun à une idée?
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
30
abdelkarimci, apprend le php avant de dire des sottises... pour qqn qui laisse ses fichiers accessibles a tous, alors la bdd n'est pas forcement la meilleur solution, ca fait des pertes de performances, et n'apporte que des stats precises sur les visites, et cote securite, ca facilite les injections sql alors que si l'image s'etait trouvee distante, ca aurait fait une requette de moins donc une faille de moins... voila donc deux possibilites, et pas une seule... et voila un cas ou l'autre possibilite est plus securisee que celle presentee ici...

l'avantage, c'est plutot cote clusters et cote sauvegardes...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.