Maison > développement back-end > tutoriel php > Comment puis-je afficher des images BLOB d'une base de données MySQL sur ma page PHP ?

Comment puis-je afficher des images BLOB d'une base de données MySQL sur ma page PHP ?

Mary-Kate Olsen
Libérer: 2024-11-18 02:57:02
original
271 Les gens l'ont consulté

How Can I Display BLOB Images from a MySQL Database on My PHP Page?

Récupération d'une image BLOB à partir d'une base de données MySQL pour l'affichage de pages PHP

Vous rencontrez des difficultés pour afficher des images BLOB à partir d'une base de données MySQL sur une page PHP ? Cet article aborde le problème et propose des solutions viables pour surmonter le redoutable cauchemar des données JPEG binaires.

Définir le problème :

Vous cherchez à incorporer une image dans vos « Détails » ", en la récupérant d'une colonne BLOB de la base de données MySQL. Cependant, malgré vos efforts, seules des données binaires incompréhensibles ornent votre page, vous laissant perplexe.

Résoudre l'énigme :

Option 1 : Inline Base64 Encodage

Pour les images plus petites, vous pouvez recourir à l'encodage base64 en ligne. Cette méthode convertit les données binaires de l'image en une chaîne qui peut être directement intégrée dans le HTML. Voici l'extrait de code de cette approche :

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';
Copier après la connexion

Option 2 : Page de récupération d'images dédiée

Cette option est préférable pour de nombreuses images. Créez une page PHP distincte (par exemple, "image.php") chargée de récupérer et de générer l'image en fonction d'un paramètre de chaîne de requête :

HTML :

<img src="image.php?id=<?php echo $image_id; ?>" />
Copier après la connexion

Fichier PHP (image.php) :

<?php
$id = (isset($_GET['id']) &amp;&amp; is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>
Copier après la connexion

N'oubliez pas de préciser le type MIME ("image/jpeg") pour l'en-tête de cette méthode.

En implémentant l'une ou l'autre de ces méthodes, vous pouvez désormais afficher fièrement vos images de la base de données MySQL, mettant en valeur les mugs de vos techniciens ou toute autre donnée visuellement attrayante. vous pouvez posséder. Bon voyage dans vos efforts de développement Web !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal