Maison >base de données >tutoriel mysql >Comment afficher correctement les BLOB d'images de MySQL en PHP ?

Comment afficher correctement les BLOB d'images de MySQL en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-14 12:47:14601parcourir

How to Correctly Display Image BLOBs from MySQL in PHP?

PHP Afficher le BLOB d'image à partir de MySQL

Lorsqu'ils tentent d'afficher une image stockée dans une colonne MySQL BLOB, certains utilisateurs rencontrent des problèmes où Chrome ou IE affiche une icône d'image au lieu de l'image réelle. Cela peut être dû au manque d'encodage approprié et à la gestion des données d'image binaires.

Solution

La manière correcte d'afficher un BLOB d'image en PHP implique :

  • Préparer le Données :

    • Récupérez les données d'image de la base de données MySQL à l'aide d'une requête (par exemple, SELECT * FROM products WHERE id = ?).
    • Stockez les données d'image récupérées dans une variable (par exemple, $image).
  • Encodage du binaire Données :

    • Utilisez la fonction base64_encode() pour convertir les données de l'image binaire en une chaîne codée en base64. Cette étape est nécessaire pour encoder les données binaires dans un format adapté à l'affichage sous forme d'image.
  • Affichage de l'image :

    • Définissez l'en-tête HTTP approprié pour spécifier le type d'image (par exemple, image/jpeg).
    • Sortez le données d'image codées en base64 comme source d'image. Par exemple :
    header("Content-Type: image/jpeg");
    echo '<img src="data:image/jpeg;base64,' . base64_encode($image) . '" />';

Remarque : Assurez-vous que les données d'image extraites de la base de données sont valides et qu'il n'y a pas de caractères d'espacement de fin avant ou après le balises.

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