Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Binärbilder direkt in einem einzigen Skript anzeigen, ohne sie auf der Festplatte zu speichern?

Wie kann ich Binärbilder direkt in einem einzigen Skript anzeigen, ohne sie auf der Festplatte zu speichern?

Susan Sarandon
Freigeben: 2024-11-08 04:55:02
Original
1109 Leute haben es durchsucht

How can I display binary images directly in a single script without saving them to disk?

Binärbilder in einem einzigen Skript anzeigen

Problem:

Können Bilder direkt aus Binärdaten in neu erstellt und angezeigt werden? das gleiche Skript? Dabei werden die Daten mit GD oder ähnlichen Tools verarbeitet, bevor sie in einem HTML-Bild-Tag angezeigt werden. Ziel ist es, das Speichern der verarbeiteten Bilder auf der Festplatte oder die Verwendung externer Skripte zu vermeiden.

Lösung:

Dies kann mithilfe von Daten-URIs im Bildquellenattribut erreicht werden. Das Daten-URI-Format ist:

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

Diese PHP-Funktion erstellt einen Daten-URI aus einer Datei:

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

Der folgende Code zeigt ein Bild mithilfe eines Daten-URI an:

echo '<img src="' . data_uri('elephant.png', 'image/png') . '" alt="An elephant" />';
Nach dem Login kopieren

Verwendung:

Um verarbeitete binäre Bilddaten anzuzeigen, können Sie die verwenden data_uri-Funktion und geben Sie den resultierenden URI wie folgt als Bildquelle aus:

$imagedata1 = file_get_contents('assets/test.png');
$imagedata1 = process_using_gd_or_something($imagedata1);

echo '<img src="' . data_uri('data:image/png;base64,' . base64_encode($imagedata1)) . '" />';
Nach dem Login kopieren

Dieser Code zeigt das verarbeitete Bild direkt aus den Binärdaten an, ohne externe Skripte oder Festplattenspeicher zu verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich Binärbilder direkt in einem einzigen Skript anzeigen, ohne sie auf der Festplatte zu speichern?. 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