Affichage d'images à partir de BLOB MySQL : résolution de sorties de contenu incompatibles
Dans le contexte de l'affichage d'une image stockée en tant que variable BLOB dans une base de données MySQL , un problème courant survient lorsque l'on tente de faire écho à du texte supplémentaire en dehors des données d'image. Cela entraîne un échec d'affichage correct de l'image.
La raison de ce comportement est que le navigateur interprète toute sortie après le contenu du BLOB comme faisant partie de l'image, provoquant une erreur. Pour résoudre ce problème, nous pouvons utiliser le codage base64 pour convertir les données BLOB dans un format pouvant être intégré dans un fichier tag.
Voici une version mise à jour du code PHP :
<code class="php"><?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); // Convert image data to base64 $base64Image = base64_encode($row['imageContent']); // Output the base64 encoded image in an <img> tag echo '<img src="data:image/jpeg;base64,' . $base64Image . '" />'; // Echo additional text after the image echo 'Hello world.'; $db->close(); ?></code>
Cette technique vous permet d'afficher l'image avec du texte supplémentaire sans rencontrer aucune interférence. Cependant, il est important de noter que l'utilisation d'URI de données peut affecter les performances de mise en cache et entraîner un chargement de page plus lent, en particulier sur les appareils mobiles.
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!