logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
18 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 409 581

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» insertion image ds mysql

insertion image ds mysql#4160

16Contributeur(s)
AnonymedeveloppeursnipekaraparscedruskofaxelSilverXargosstivhawkloutPSTLralaryGawaxdonaldmarcTitosvigan
3 Modérateur(s)
developpeurjpbJireck
cedruskof cedruskoficon_post
Je dis un grand merci à tous, pour cette rapidité et cette efficacité.
Et pour MR Axel: Si j'avais que ca à gérer pour le bts je l'orais fait depuis l'année dernière. :-D

Bon cvrai que je mi prend a la derniere minute...

Merci à tous
Anonyme Anonymeicon_post
Salut,

Ah oui, pour le sript d'enregistrement dans la BD, c simple aussi, je le recherche (je l'ai masi je sais plus ou lol) et le met ;)

@+
ysandril
Anonyme Anonymeicon_post
Ah bé le voila, il était pas si loin finalement ;-)


donc la c pour mettre un champ de sélection du fichier image :
Image :<input type="file" name="image" size="40"><input type="hidden" name="MAX_FILE_SIZE" value="1000000">

et la c pour mettre dans un varible l'image au format binaire si on l'a sélectionnée :

if ($image!="none")
$imag=AddSlashes(fread(fopen($image,"rb"),filesize($image)));
else
{
$imag="";
$image_type="";
$image_size="";
$image_name="";
}


Ensuite hé bien une petit requete INSERT INTO en mettant la variable $imag dans le champ BLOB et c'est joué :-P

@+
Ysandril

[ Message édité par : developpeur : 05-05-2003 12:28 ]
Anonyme Anonymeicon_post
Citation : "22-04-2003 13:52, Anonyme a écrit :
Bonjour à tous

il y a un moyen beaucoup plus simple et plus rapide : c'est de stocker l'image directement dans la base MySQL, sans qu'elle soit dans un répertoire online. Il suffit pour cela d'utiliser un champ binaire.
Si le script intéresse quelqu'un, qu'il le dise, je le mettrais. Ca ne fait que quelques lignes ;)

@+ Ysandril."
----------
Je suis intéressé par ton script : Peux-tu me l'envoyer à l'adresse Manuuu@euronet.be

Merci d'avance.
Anonyme Anonymeicon_post
Bonjour,

Ca m'interressait beaucoup. Peut-tu me l'envoyer à l'adresse suivante : philippe.lecocq@wanadoo.fr

Merci
Anonyme Anonymeicon_post
bonjour !
je suis fortement interessé par ce script ! peux tu me l'envoyer à l'adresse tiana@moomia.com
Merci
Anonyme Anonymeicon_post
Citation : "22-04-2003 13:52, Anonyme a écrit :
Bonjour à tous

il y a un moyen beaucoup plus simple et plus rapide : c'est de stocker l'image directement dans la base MySQL, sans qu'elle soit dans un répertoire online. Il suffit pour cela d'utiliser un champ binaire.
Si le script intéresse quelqu'un, qu'il le dise, je le mettrais. Ca ne fait que quelques lignes ;)

@+ Ysandril."
----------

Je suis très très intéressé aussi si tu pouvais me l'envoyer... pascal@goubier.net
Anonyme Anonymeicon_post
Bonjour a tous !!

je viens de voir ce code qui m'a bcp interessé. tout ce passe bien l'insertion de l'image dans la table mais j'ai un pb pour afficher l'image.

ce code me pose un pb:
<?
$image_aff = "<"img src=\"affiche_image.php?id=".$id."\">";
echo $image_aff;
?>

il me met comme erreur: Parse error: parse error, unexpected T_STRING

en esperant que qq1 m'aide
Merci d'avance :D :D :D
axel axelicon_post
y'a pas des " en trop ?


$image_aff = "<img src=\"affiche_image.php?id='.$id.'\">";


=> ca marche pas ca ?

ps : je suis une br**** en PHP, alors je tente le couip, mais je garanti rien :-)
snipe snipeicon_post
$image_aff = '<img src="affiche_image.php?id='.$id.'">';
ou
$image_aff = "<img src=\"affiche_image.php?id=".$id."\">";
:)

Ps: C pas bon ton truc axel :)

[ Message édité par : snipe : 13-05-2003 12:05 ]
Anonyme Anonymeicon_post
je veux bien voir aussi comment on met des images dans une base mysql

pour le momment je suis comme ça :-| :-|

et j'aimerais bien devenir :-):-) après avoir reçu la réponse
Anonyme Anonymeicon_post
bah dis donc, quel succès lol

j'envoi le script à tous le monde ce soir (si j'oublie po :# )

@+
Ysan
Anonyme Anonymeicon_post
heu....pour que tous le monde en profites, je remet le script en intégralité


1) création de la base (bien-sur, il est possible d'intégrer ces champs dans une autre table)

CREATE TABLE images (
id int(11) NOT NULL auto_increment,
image longblob NOT NULL,
i_name varchar(100) NOT NULL default '',
i_size varchar(50) NOT NULL default '',
i_type varchar(50) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;



2) enregistrement de l'image dans la base

Image :<input type="file" name="image" size="40"><input type="hidden" name="MAX_FILE_SIZE" value="1000000"> // champ permettant la sélection du fichier image

<?
if ($image!="")
$imag=AddSlashes(fread(fopen($image,"rb"),filesize($image)));
else
{
$imag="";
$image_type="";
$image_size="";
$image_name="";
}
?>

Ensuite, une requete INSERT INTO en mettant la variable $imag dans le champ BLOB pour insérer l'image dans la base.



3) page affiche_image.php qui contient le code de récupération de l'image dans la base MySQL

<?
session_start();
!include!("scripts/parametres.php"); // page qui contient les infos de connexion à la base, au choix du développeur

$db = mysql_connect("$dbhost", "$dblogi", "$dbpass");
mysql_select_db("$dbbase",$db);

$row=mysql_query("select * from images where id=$id");
$type=mysql_result($row,0,"i_type");
$name=mysql_result($row,0,"i_name");
$size=mysql_result($row,0,"i_size");
$image=mysql_result($row,0,"image");
header("!!!content-type:!!! $type");
echo $image;
?>



4) sur n'importe quelle page, il suffit de mettre ces 2 lignes pour
afficher l'image

<?
$image_aff = "<img src=\"affiche_image.php?id=".$id."\">"; // $id est la variable qui contient l'identifiant de l'enregistrement dans lequel se trouve l'image
echo $image_aff;
?>



voila, le script est complet ;-)

je l'envoi tout de même à ceux qui l'ont demandé :-)

@+
Ysandril, paladin sur DAoC (ca c'est pour faire de la pub :-P )
Anonyme Anonymeicon_post
lol désolé pour les fautes d'orthographe dans la première ligne (ca commence bien :-( )
Anonyme Anonymeicon_post
salut :)

j'aimerais bien avoir le script aussi

si tu veux bien me l'envoyer: marielaure.dehon@ifrance.com

merci beaucoup
Anonyme Anonymeicon_post
Citation : "22-04-2003 13:52, Anonyme a écrit :
Bonjour à tous

il y a un' moyen beaucoup plus simple et plus rapide : c'est de stocker l'image directement dans la base MySQL, sans qu'elle soit dans un répertoire online. Il suffit pour cela d'utiliser un champ binaire.
Si le script intéresse quelqu'un, qu'il le dise, je le mettrais. Ca ne fait que quelques lignes ;)

@+ Ysandril."
----------

Si tu peux me l'envoyer à ===> flo.mat@laposte.net

Je te remercie beaucoup !
:-P :-P :-P

Pyroflo
axel axelicon_post
si klk1 pt envoyer 100.000.000 € sur le compte 3500-108250M du Credit Lyonnais :-D
Silver Silvericon_post
hum... faut l'excuser il a mal a la guelle :-( pauvre axel &vodka :=!
Anonyme Anonymeicon_post
Image :<input type="file" name="image" size="40"><input type="hidden" name="MAX_FILE_SIZE" value="1000000"> // champ permettant la sélection du fichier image

<?
if ($image!="")
$imag=AddSlashes(fread(fopen($image,"rb"),filesize($image)));
else
{
$imag="";
$image_type="";
$image_size="";
$image_name="";
}
?>

Ensuite, une requete INSERT INTO en mettant la variable $imag dans le champ BLOB pour insérer l'image dans la base.

je vais passer pour une débile mais peux-tu detailler ton INSERT INTO car l'image ne s'insere pas dans ma base
merci :-)

Anonyme Anonymeicon_post
Bonjour à tous, est-il possible de mettre une image de plus de 1Mo voir un fichier de 10 Mo (car on a un type longblob) dans mysql si oui comment.

Ma 1ère solution est d'envoyer par bloc de 512Ko dans un blob mais je ne connais pas les fonctions permetttant d''ajouter par bloc dans un blob.

Help me