Heim  >  Artikel  >  Backend-Entwicklung  >  Wie bestimme ich den Bildtyp anhand des Base64-Strings in PHP?

Wie bestimme ich den Bildtyp anhand des Base64-Strings in PHP?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 03:56:02837Durchsuche

How to Determine Image Type from Base64 String in PHP?

Bestimmen Sie den Bildtyp anhand der Base64-Zeichenfolge in PHP

Ist es möglich, den Dateityp eines Bildes zu ermitteln, das in PHP als Base64-Zeichenfolge codiert ist? ? Leider stellt der alleinige Besitz der codierten Zeichenfolge eine Herausforderung dar, den ursprünglichen Dateityp des Bildes zu ermitteln. Um den Bildtyp zu entschlüsseln, könnte man die Funktion imagecreatefromstring() verwenden, die eine Bildressource generiert. Allerdings verfügt diese Ressource über eine spezielle Darstellung in PHP, die den ursprünglichen Bildtyp verdeckt.

Glücklicherweise bietet die PHP-FileInfo-Erweiterung eine Lösung. Diese Erweiterung bietet eine einfache Methode zur Bestimmung des Dateityps von Binärdaten, einschließlich Base64-codierter Zeichenfolgen. So funktioniert es:

<code class="php">$encoded_string = "....";
$imgdata = base64_decode($encoded_string);

$f = finfo_open();

$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>

Dieses Code-Snippet dekodiert die Base64-kodierte Zeichenfolge, öffnet eine FileInfo-Ressource und ruft den Dateityp mithilfe der Funktion finfo_buffer() ab. Die resultierende Variable $mime_type enthält den Dateityp, beispielsweise „image/jpeg“ oder „image/png“. Mit diesen Informationen können Sie den ursprünglichen Dateityp ermitteln, ohne ihn vorher kennen zu müssen, und das Bild als entsprechenden Dateityp speichern.

Das obige ist der detaillierte Inhalt vonWie bestimme ich den Bildtyp anhand des Base64-Strings in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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