Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2007, 13h57   #1
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
Par défaut type BLOB et html

salut tout le monde ! Je vous sollicite pour un petit problème

J'utilise une base mysql pour mon site internet. Dans une des tables, je stocke des images : le type de la colonne et BLOB. jusque là pas de problème, j'arrive à insérer des images sans problème.

Mon problème réside plus dans la récupération et l'affichage en html de l'image.

En effet, pour afficher une image en html, on utilise :
Code :
<img src="image.jpg" width="100" height="100"  border="0" alt="mon image" />
mais là, en récupérant l'image dans la BD, comment je fais pour l'afficher après ?

un simple
Code :
<img src="<?php $image; ?>"...
affiche pleins de symbole, donc j'imagine qu'il faut tranformer tout ça...

quelqu'un peut il m'éclairer ?
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 14h15   #2
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Dans ta variable $image, tu as le code de ton image et non son adresse.

Tu peux créer un fichier image.php qui restitue l'image souhaitée.
Code :
1
2
3
4
5
header("Content-Type: image/jpeg");
 
// ici tu récupère l'image dans ta base à partir de $_GET['id']
 
echo $image;
A l'endroit où tu veux appeler ton image :
Code :
<img src="image.php?id=<?= $identifiantImage; ?>" />
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 15h00   #3
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
j'ai trouvé une solution :

Code :
1
2
3
4
5
6
7
<?php									
          requête...	
									$image=$ligne->image;
									$fichier=fopen("amis/img_tmp.jpg","w");
									fwrite($fichier,$image);
									fclose($fichier);
?>
seul petit problème, l'image créée temporairement n'est pas supprimée... et se réaffiche.
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/05/2007, 15h05   #4
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Une fois que tu as fini de l'utiliser, tu fais un unlink("adresseImage");
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 09h31   #5
Membre du Club
 
Inscription : février 2005
Messages : 288
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 288
Points : 47
Points : 47
ok merci.

J'ai un nouveau soucis, peut être que tu pourras aussi m'aider.

cette fois c'est pour enregistrer l'image dans la bd.

voici ce que j'utilise dans mon formulaire :
Code :
1
2
3
4
5
<td><b>Photo du groupe :</b> </td>
<td>
	<input type="hidden" name="MAX_FILE_SIZE" value="100000">
	<input name="photo" type="file">
</td>
et ensuite dans le fichier appelé après validation du formulaire :
Code :
1
2
3
4
$fp = fopen($photo,"r");
$data = fread($fp,filesize($photo));
fclose($fp);
$data = addslashes($data);
plusieurs problème en découlent :
- avec internet explorer, le chemin de l'image récupéré comporte des "//" à la place des "/" et du coup ça plante pour ouvrir le fichier
- avec opera ou encore firefox, le chemin récupéré ne comporte que le nom de l'image (image.jpg) et donc le fichier ne peut pas être ouvert non plus.

si vous avez des solutions je suis preneur
__________________
Juan
chti_juanito est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2007, 10h39   #6
Membre habitué
 
Inscription : mai 2006
Messages : 139
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : mai 2006
Messages : 139
Points : 137
Points : 137
Regarde du côté de ce tutoriel

Il devrait t'aider à corriger ton code
gk14fire est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h34.


 
 
 
 
Partenaires

Hébergement Web