Wie zeige ich neu erstellte Bilder aus Binärdaten direkt in PHP an?

Mary-Kate Olsen
Freigeben: 2024-11-09 13:56:02
Original
179 Leute haben es durchsucht

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

Anzeigen neu erstellter Bilder aus Binärdaten in PHP

Eine häufige Aufgabe besteht darin, als Binärdaten gespeicherte Bilder abzurufen und anzuzeigen. Um diesen Prozess zu optimieren, ist es wünschenswert, die Bilder innerhalb desselben Skripts zu verarbeiten und anzuzeigen, ohne dass externer Speicher oder Skripte erforderlich sind.

Lösung:

PHP bietet a Lösung durch die Verwendung von Daten-URIs. Diese URIs betten Binärdaten direkt in HTML ein, sodass sie ohne Verweis auf eine externe Datei angezeigt werden können.

Die Syntax für Daten-URIs lautet wie folgt:

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

Wobei:

  • MIME-Typ: Gibt den Typ der eingebetteten Daten an, z. B. „image/png“ oder „image/jpeg“.
  • charset: Optionaler Parameter, der normalerweise die Zeichenkodierung der Daten angibt „base64“.
  • Daten: Die als Base64 kodierten Binärdaten.

Um die Binärdaten zu verarbeiten, verwenden Sie eine entsprechende PHP-Funktion wie gd_imagecreatefromstring(), um das Bild aus dem zu laden Binärstrom. Konvertieren Sie das Bild nach der Verarbeitung mit imagepng() oder imagejpeg() zurück ins Binärformat.

Kodieren Sie abschließend die Daten mit base64_encode() als Base64. Diese codierten Daten können dann als Quelle für das HTML-Bild-Tag verwendet werden:

<?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">';
?>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie zeige ich neu erstellte Bilder aus Binärdaten direkt in PHP an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage