Maison > développement back-end > tutoriel php > Comment afficher des images recréées à partir de données binaires directement en PHP ?

Comment afficher des images recréées à partir de données binaires directement en PHP ?

Mary-Kate Olsen
Libérer: 2024-11-09 13:56:02
original
299 Les gens l'ont consulté

How to Display Recreated Images from Binary Data Directly in PHP?

Affichage d'images recréées à partir de données binaires en PHP

Une tâche courante consiste à récupérer et à afficher des images stockées sous forme de données binaires. Pour optimiser ce processus, il est souhaitable de traiter et d'afficher les images dans le même script sans avoir besoin de stockage ou de scripts externes.

Solution :

PHP fournit un solution grâce à l’utilisation d’URI de données. Ces URI intègrent des données binaires directement dans HTML, ce qui leur permet d'être affichées sans référencer un fichier externe.

La syntaxe des URI de données est la suivante :

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>
Copier après la connexion

Où :

  • Type MIME : Spécifie le type de données incorporées, tel que "image/png" ou "image/jpeg".
  • charset : Paramètre facultatif spécifiant le codage des caractères des données, généralement "base64".
  • data : Les données binaires codées en base64.

Pour traiter les données binaires, utilisez une fonction PHP appropriée telle que gd_imagecreatefromstring() pour charger l'image à partir du flux binaire. Une fois traitée, reconvertissez l'image en binaire à l'aide de imagepng() ou imagejpeg().

Enfin, encodez les données en base64 à l'aide de base64_encode(). Ces données encodées peuvent ensuite être utilisées comme source pour la balise d'image HTML :

<?php
function data_uri($binary_data, $mime_type)
{
  return 'data:' . $mime_type . ';base64,' . base64_encode($binary_data);
}

// Get binary data of image
$imagedata = get_binary_data();

// Process image
$processed_imagedata = process_image($binary_data);

// Display image using data URI
echo '<img src="' . data_uri($processed_imagedata, 'image/png') . '" alt="Processed Image">';
?>
Copier après la connexion

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 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