Maison >développement back-end >tutoriel php >Pourquoi des caractères aléatoires apparaissent-ils lors de l'affichage d'images MySQL BLOB en PHP avec du texte supplémentaire ?

Pourquoi des caractères aléatoires apparaissent-ils lors de l'affichage d'images MySQL BLOB en PHP avec du texte supplémentaire ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-21 06:23:02429parcourir

Why Do Random Characters Appear When Displaying MySQL BLOB Images in PHP with Additional Text?

Problème d'affichage des images stockées dans un BLOB MySQL avec PHP

Lors de la tentative d'affichage d'une image stockée dans une base de données MySQL en tant que BLOB à l'aide du fichier fourni Code PHP, les utilisateurs peuvent rencontrer des problèmes si du texte supplémentaire est affiché avant ou après l'image. Au lieu de l'affichage de l'image, des caractères aléatoires apparaîtront.

Explication :

Selon la solution donnée, ce comportement se produit parce que le navigateur interprète mal le texte renvoyé avant ou après le données d'image dans le cadre de l'image elle-même. Cela entraîne une erreur et empêche la sortie prévue.

Solution :

Pour afficher correctement l'image et le texte supplémentaire, convertissez les données de l'image au format Base64 et intégrez-les. dans une balise HTML img :

<code class="php">echo '<img src="data:image/jpeg;base64,' . base64_encode( $row['imageContent'] ) . '" />';
echo 'Hello world.';</code>

Remarques supplémentaires :

Bien que cette approche résolve le problème d'affichage, il est important de noter que l'intégration d'images à l'aide d'URI de données a inconvénients :

  • Il ne peut pas être mis en cache, ce qui le rend indésirable pour les images fréquemment utilisées.
  • Il peut être lent, en particulier sur les appareils mobiles.

Référez-vous à la documentation caniuse pour plus d'informations sur les URI 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!

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