Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich mit FileInfo den Bildtyp aus einer Base64-codierten Zeichenfolge in PHP?

Wie extrahiere ich mit FileInfo den Bildtyp aus einer Base64-codierten Zeichenfolge in PHP?

Susan Sarandon
Susan SarandonOriginal
2024-10-23 21:57:02884Durchsuche

How to Extract Image Type from Base64-Encoded String in PHP Using FileInfo?

Erkennen des Bildtyps aus Base64-String in PHP

Man kann auf Szenarien stoßen, in denen der Zugriff auf die ursprüngliche Bilddatei eingeschränkt ist und nur ein Base64 übrig bleibt -codierte String-Darstellung. Die Bestimmung des Bildtyps anhand einer solchen Zeichenfolge kann sich als schwierig erweisen. Während die Funktion imagecreatefromstring() eine Bildressource aus einer dekodierten Zeichenfolge erstellt, verbirgt sie die ursprünglichen Bildtypinformationen.

Lösung: Verwendung von FileInfo

FileInfo bietet eine praktikable Lösung zu diesem Problem. Durch die Verwendung der Methode finfo_buffer() kann man den MIME-Typ des Bildes direkt aus der Base64-dekodierten Zeichenfolge abrufen. Diese Methode benötigt zwei Parameter: ein offenes Dateihandle (erhalten mit finfo_open()) und die Rohbilddaten.

Beispielcode:

<code class="php">// Encoded base64 string
$encoded_string = "....";

// Decode the string
$imgdata = base64_decode($encoded_string);

// Open FileInfo handle
$f = finfo_open();

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

Der $mime_type Die Variable enthält nun den MIME-Typ des Bildes, z. B. „image/jpeg“ oder „image/png“. Diese Informationen können dann verwendet werden, um die geeignete Dateierweiterung zum Speichern des Bildes zu ermitteln.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich mit FileInfo den Bildtyp aus einer Base64-codierten Zeichenfolge 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