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
Mary-Kate Olsenoriginal
2024-11-18 02:57:02267parcourir

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>';

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; ?>" />

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;
?>

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!

Déclaration:
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