Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi mon image MySQL BLOB ne s'affiche-t-elle pas correctement lorsqu'une autre sortie est présente ?

Susan Sarandon
Libérer: 2024-11-24 05:34:13
original
815 Les gens l'ont consulté

Why Does My MySQL BLOB Image Display Incorrectly When Other Output Is Present?

Gestion de l'affichage des images et de la sortie supplémentaire d'une colonne BLOB MySQL

Dans l'exemple de code fourni ci-dessous, une image stockée en tant que variable BLOB dans une base de données MySQL est affichée. Cependant, il arrive que si un texte supplémentaire est affiché avant ou après l'image, cela entraîne un affichage erroné.

<?php

include("inc/library.php");

connectToDatabase();

$sql = "SELECT * FROM theBlogs WHERE ID = 1;";

$result = mysql_query($sql) or die(mysql_error());  
$row = mysql_fetch_array($result);

header("Content-type: image/jpeg");
echo $row['imageContent'];
$db->close();

?>
Copier après la connexion

Pour résoudre ce problème, nous devons comprendre que les données de l'image sont traitées comme un flux binaire. La sortie de texte avant ou après l'image perturbe les données binaires et provoque des problèmes d'affichage.

La solution consiste à convertir les données de l'image au format base64 et à les intégrer dans une balise d'image HTML. Cette approche nous permet de séparer les données d'image des autres sorties.

echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />';
echo 'Hello world.';
Copier après la connexion

Bien que cette méthode fonctionne, elle n'est pas optimale pour les performances et la mise en cache. Pour une gestion plus efficace des données d'image, envisagez d'utiliser un service d'hébergement d'images approprié ou des mécanismes de mise en cache de base de données.

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