Maison >développement back-end >tutoriel php >Les images peuvent-elles être affichées directement à partir de données binaires à l'aide d'URI de données ?

Les images peuvent-elles être affichées directement à partir de données binaires à l'aide d'URI de données ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-07 05:56:02446parcourir

Can Images Be Displayed Directly from Binary Data Using Data URIs?

Création et affichage d'images à partir de données binaires

Pouvez-vous créer et afficher des images à partir de données binaires directement dans un seul script ? Cette question découle du désir de gérer le traitement et l'affichage des images sans recourir à des scripts externes ni écrire des images sur le disque.

La réponse réside dans l'utilisation des URI de données. Les URI de données suivent un format spécifique :

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

Les types MIME spécifient le format des données, tel que image/png ou image/jpeg. Le charset et la base64 sont facultatifs. Les données réelles sont représentées en codage base64.

Pour générer un URI de données à partir de données binaires, vous pouvez utiliser une fonction comme la suivante :

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

Avec cette fonction, vous pouvez ensuite utiliser l'URI des données comme attribut src d'une image :

<img src="<?php echo data_uri('elephant.png','image/png'); ?>" alt="An elephant" />

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