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 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>';
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']) && 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; ?>
Dans votre HTML :
<img src="image.php?id=<?php echo $image_id; ?>" />
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');
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!