Afficher une image stockée dans ma bas de donnée
Dernière réponse : dans Programmation
salut a tous !
je voudrais que les visiteurs de mon site puisseent enregeistrer leur photo dans la base de donnée et ensuite afficher ses photos .
mais je n'arrive pas.
alors je voudrais une aide svp .
merci de bien vouloir m'aider .
NB : rien ne s'affiche duand j'execute le code aperçu .on me met : Vous n avez pas sélectionné d image !
voici mon code :
------------------------------------------------------------------------------------------
image.php
-------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
apercu.php
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
galerie.php
--------------------------------------------------------------------------------------------------
je voudrais que les visiteurs de mon site puisseent enregeistrer leur photo dans la base de donnée et ensuite afficher ses photos .
mais je n'arrive pas.
alors je voudrais une aide svp .
merci de bien vouloir m'aider .
NB : rien ne s'affiche duand j'execute le code aperçu .on me met : Vous n avez pas sélectionné d image !
voici mon code :
------------------------------------------------------------------------------------------
image.php
-------------------------------------------------------------------------------------------
<head> <title>Envoyer une image</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <style type="text/css"> label { display:block; width:150px; float:left; } </style> </head> <body> <?php if(isset($_POST['validation'])) { //Indique si le fichier a été téléchargé if(!is_uploaded_file($_FILES['image']['tmp_name'])) echo 'Un problème est survenu durant l opération. Veuillez réessayer !'; else { //liste des extensions possibles $extensions = array('/png', '/gif', '/jpg', '/jpeg'); //récupère la chaîne à partir du dernier / pour connaître l'extension $extension = strrchr($_FILES['image']['type'], '/'); //vérifie si l'extension est dans notre tableau if(!in_array($extension, $extensions)) echo 'Vous devez uploader un fichier de type png, gif, jpg, jpeg.'; else { //on définit la taille maximale define('MAXSIZE', 300000); if($_FILES['image']['size'] > MAXSIZE) echo 'Votre image est supérieure à la taille maximale de '.MAXSIZE.' octets'; else { //on se connecte (remplacer les paramètres de connexion) $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); $database = mysql_select_db("go&ga") or exit (mysql_error()); //récupération des infos saisies $nom = mysql_escape_string($_POST['nom']); $description = mysql_escape_string($_POST['description']); //Lecture du fichier. On doit utiliser la fonction mysql_escape_string car les données binaires contiennent des caractères spéciaux. $image = mysql_escape_string(file_get_contents($_FILES['image']['tmp_name'])); //Il ne reste qu'à insérer tout ça dans notre table. mysql_query("INSERT INTO images(nom, description, img, extension) VALUES('".$nom."', '".$description."', '".$image."', '".$_FILES['image']['type']."')") or exit (mysql_error()); mysql_close(); echo '<h3>L insertion s\'est bien déroulée !</h3>'; } } } } ?> <h1>Envoyer une image</h1> <form enctype="multipart/form-data" action="" method="post"> <p> <label for="nom">Nom : </label><input type="text" name="nom" id="nom" /><br /> <label for="description">Description : </label><textarea name="description" id="description" rows="10" cols="50"></textarea><br /> <label for="image">Image : </label><input type="file" name="image" id="image" /><br /> <label for="validation">Valider : </label><input type="submit" name="validation" id="validation" value="Envoyer" /> </p> </form> <form action="galerie.php" method="post"> <p> <input type="submit" name="validation" value="image" /> </p> </form> </body> </html>
--------------------------------------------------------------------------------------
apercu.php
-------------------------------------------------------------------------------------------
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <?php //si nous avons une image if(!empty($_GET['id_img'])) { //connexion à la base de données $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); $database = mysql_select_db("go&ga")or exit (mysql_error()); //on sécurise notre donnée $idImg = intval($_GET['id_img']); //la requète qui récupère l'image à partir de l'identifiant $apercu = mysql_query("SELECT extension, img FROM images WHERE id_img = ".$idImg) or exit (mysql_error()); //si le résultat est différent de 1 if(mysql_num_rows($apercu) != 1) echo 'L image n existe pas !'; else { //on stocke les données dans un tableau $reponse = mysql_fetch_assoc($apercu); //on indique qu'on affiche une image header ("Content-type: ".$reponse['extension']); //on affiche l'image en elle même echo $reponse['img']; } mysql_close(); } else echo 'Vous n avez pas sélectionné d image !'; ?> </body> </html>
-------------------------------------------------------------------------------------------------
galerie.php
--------------------------------------------------------------------------------------------------
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <?php //si nous avons une image if(!empty($_GET['id_img'])) { //connexion à la base de données $connexion = mysql_connect("localhost", "root", "") or exit (mysql_error()); $database = mysql_select_db("go&ga")or exit (mysql_error()); //on sécurise notre donnée $idImg = intval($_GET['id_img']); //la requète qui récupère l'image à partir de l'identifiant $apercu = mysql_query("SELECT extension, img FROM images WHERE id_img = ".$idImg) or exit (mysql_error()); //si le résultat est différent de 1 if(mysql_num_rows($apercu) != 1) echo 'L image n existe pas !'; else { //on stocke les données dans un tableau $reponse = mysql_fetch_assoc($apercu); //on indique qu'on affiche une image header ("Content-type: ".$reponse['extension']); //on affiche l'image en elle même echo $reponse['img']; } mysql_close(); } else echo 'Vous n avez pas sélectionné d image !'; ?> </body> </html>
Autres pages sur : afficher image stockee bas donnee
Lassé par la pub ? Créez un compte
Salut,
Ce n'est pas une bonne idée de stocker l'image directement dans la base de données, il vaut mieux la sauvegarder sur le disque et ne sauvegarder qu'un lien dans ta base de données.
Et ton problème vient du faire que tu mets du code HTML dans ton fichier apercu.php: vu que tu veux afficher l'image, et que tu changes le Content-type, il ne doit y avoir que les données de l'image dedans et rien d'autre
Ce n'est pas une bonne idée de stocker l'image directement dans la base de données, il vaut mieux la sauvegarder sur le disque et ne sauvegarder qu'un lien dans ta base de données.
Et ton problème vient du faire que tu mets du code HTML dans ton fichier apercu.php: vu que tu veux afficher l'image, et que tu changes le Content-type, il ne doit y avoir que les données de l'image dedans et rien d'autre
j'ai fait ce que tu as di mais on m'affiche toujours :Vous n'avez pas sélectionné d'image !
de plus il y a une autre petite fenetre qui apparait et la on me di : vous avez choisi d'ouvrir aperçu.php qui est un fichier de type : PHP Script à partir de : http://localhost.com
et juste en bas on met :
ouvrir avec :
quand j'execute tout ca rien ne s'affiche
de plus il y a une autre petite fenetre qui apparait et la on me di : vous avez choisi d'ouvrir aperçu.php qui est un fichier de type : PHP Script à partir de : http://localhost.com
et juste en bas on met :
ouvrir avec :
quand j'execute tout ca rien ne s'affiche
Bon je vais essayer de vous le reprendre^^
(On dirait que Omar ta abandonner avec lui xD)
Déjà la question c'est plutôt a tu coder toi même tout sa ou ne serait ce pas la l'objet d'un copier coller?
Soit franc, je vais pas te manger. Mais déjà de la je verrais si c'est la peine que je t'explique ou plutôt que je te passe mon adresse pour que je bosse vite fait sur ton problème et te fasse ton site durant mes pause.
(On dirait que Omar ta abandonner avec lui xD)
Déjà la question c'est plutôt a tu coder toi même tout sa ou ne serait ce pas la l'objet d'un copier coller?
Soit franc, je vais pas te manger. Mais déjà de la je verrais si c'est la peine que je t'explique ou plutôt que je te passe mon adresse pour que je bosse vite fait sur ton problème et te fasse ton site durant mes pause.
Bonjour,
je pense que ce petit tuto sur la création d'une galerie photo en php + SQl devrait répondre à la plus part de vos questions
http://webinfobazar.com/realiser-une-galerie-dimage-fac...
Si vous avez des questions, n'hésitez pas !
Scienti
je pense que ce petit tuto sur la création d'une galerie photo en php + SQl devrait répondre à la plus part de vos questions
http://webinfobazar.com/realiser-une-galerie-dimage-fac...
Si vous avez des questions, n'hésitez pas !
Scienti
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumAsp.net afficher image base donnee binaire
- ForumAfficher image depuis chemin base de donnees
- ForumAfficher une image base sql
- ForumStocker une image en base de donnee
- ForumStocker image dans base mysql blob
- ForumStocker image base de donnee php
- ForumAfficher contenu base de données php
- ForumBase sql stocker une image
- ForumStocker image
- ForumAfficher images par lien base donnees mysql
- Voir plus