Wie kann ich ein Bild von einer URL in Base64-Kodierung umwandeln?
Antworten
Zu viele Anzeigen?Einfach:
$imagedata = file_get_contents("/path/to/image.jpg");
// alternatively specify an URL, if PHP settings allow
$base64 = base64_encode($imagedata);
Beachten Sie, dass die Daten dadurch um 33 % erweitert werden, und Sie werden Probleme mit Dateien haben, die größer sind als Ihre memory_limit
.
Verwenden Sie diesen Weg auch, um ein Bild im Base64-kodierten Format darzustellen...
Finden Sie die PHP-Funktion file_get_content
und verwenden Sie dann die Funktion base64_encode
.
Und erhalten Sie das Ergebnis zur Vorbereitung von str als data:" . file_mime_type . " base64_encoded string
. Verwenden Sie es in der img
src
Attribut. Der folgende Code kann hilfreich sein:
// A few settings
$img_file = 'raju.jpg';
// Read image path, convert to base64 encoding
$imgData = base64_encode(file_get_contents($img_file));
// Format the image SRC: data:{mime};base64,{data};
$src = 'data: '.mime_content_type($img_file).';base64,'.$imgData;
// Echo out a sample image
echo '<img src="'.$src.'">';
Sehr einfach und allgemein zu verwenden:
function getDataURI($imagePath) {
$finfo = new finfo(FILEINFO_MIME_TYPE);
$type = $finfo->file($imagePath);
return 'data:' . $type . ';base64,' . base64_encode(file_get_contents($imagePath));
}
// Use the above function like below:
echo '<img src="' . getDataURI('./images/my-file.svg') . '" alt="">';
echo '<img src="' . getDataURI('./images/my-file.png') . '" alt="">';
Hinweis: Der MIME-Typ der Datei wird automatisch hinzugefügt (mit Hilfe von diese PHP-Dokumentation ).
- See previous answers
- Weitere Antworten anzeigen