Maison >développement back-end >tutoriel php >Comment puis-je afficher une image à partir de données binaires dans un seul script sans la sauvegarder sur le disque ?

Comment puis-je afficher une image à partir de données binaires dans un seul script sans la sauvegarder sur le disque ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-08 06:37:021089parcourir

How can I display an image from binary data in a single script without saving it to disk?

Création et affichage d'images à partir de données binaires dans un seul script

De nombreuses applications nécessitent la possibilité de traiter des images à partir de données binaires et de les afficher sans stockage intermédiaire sur disque. Cet article explique comment obtenir cette fonctionnalité à l'aide des URI de données.

URI de données

Les URI de données fournissent un moyen d'intégrer des données binaires directement dans HTML ou CSS. Ils se composent de trois parties :

  • Type MIME : Identifie le type de données (par exemple, "image/png").
  • Encodage facultatif : Spécifie le codage de caractères des données (par exemple, "base64").
  • Données : Les données binaires codées sous forme de chaîne.

Utilisation des URI de données pour les images

Pour intégrer une image en tant qu'URI de données, le format suivant est utilisé :

data:[<MIME-type>][;charset="<encoding>"][;base64],<data>

Par exemple, pour intégrer une image PNG en tant que un URI de données utilisant le codage base64 :

data:image/png;base64,<encoded-data>

Exemple de code

La fonction PHP suivante crée un URI de données à partir d'un fichier image binaire :

function data_uri($file, $mime) 
{
  $contents = file_get_contents($file);
  $base64   = base64_encode($contents); 
  return ('data:' . $mime . ';base64,' . $base64);
}

Pour afficher une image à partir de données binaires, vous pouvez simplement utiliser l'URI des données comme attribut src d'un HTML element :

echo "<img src='" . data_uri('image.png', 'image/png') . "' alt='My Image' />";

Avantages des URI de données

L'utilisation des URI de données pour les images offre plusieurs avantages :

  • Réseau réduit Requêtes : Les URI de données intègrent les données de l'image directement dans le code HTML, éliminant ainsi le besoin de requêtes HTTP supplémentaires.
  • Chargement d'images d'origine croisée : Les URI de données peuvent être utilisées pour charger des images provenant de différents domaines, résolvant les problèmes CORS.
  • Performances améliorées : En éliminant les requêtes réseau supplémentaires et les E/S disque, les URI de données peuvent améliorer les performances globales de chargement des images.

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