Maison > base de données > tutoriel mysql > Comment afficher des images BLOB à partir de MySQL en PHP : encodage Base64 ou fichier image séparé ?

Comment afficher des images BLOB à partir de MySQL en PHP : encodage Base64 ou fichier image séparé ?

DDD
Libérer: 2024-12-10 17:21:10
original
438 Les gens l'ont consulté

How to Display BLOB Images from MySQL in PHP: Base64 Encoding vs. Separate Image File?

Comment afficher les images BLOB d'une base de données MySQL en PHP

Vous essayez d'afficher des images BLOB d'une base de données MySQL en PHP mais vous rencontrez des erreurs . Explorons deux options pour résoudre le problème :

Option 1 : encodage Base64 en ligne

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

Cette méthode encode l'image BLOB dans une chaîne base64 et l'intègre directement dans le HTML. Cependant, cette approche n'est pas recommandée pour un grand nombre d'images.

Option 2 : Fichier PHP de sortie d'image

Créez un fichier image.php avec le code suivant :

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

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

Dans votre HTML :

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

Cette méthode récupère l'image de la base de données et l'envoie directement à le navigateur, en vous assurant que le type MIME correct est défini (image/jpeg). La ligne d'en-tête :

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

demande au navigateur d'interpréter la sortie comme une image et de l'afficher en conséquence. Cela élimine le problème de données binaires JPEG que vous rencontriez.

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 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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal