375 Stimmen

Konvertierung eines Bildes in Base64-Kodierung

Wie kann ich ein Bild von einer URL in Base64-Kodierung umwandeln?

742voto

Ronny Sherer Punkte 7772

Ich denke, das sollte es sein:

$path = 'myfolder/myimage.png';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);

147voto

Pekka Punkte 429407

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 .

48voto

Raju Ram Punkte 883

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.'">';

20voto

yckart Punkte 29968

Für den Fall, dass Sie (aus welchen Gründen auch immer) nicht in der Lage sind, die curl noch file_get_contents können Sie umgehen:

$img = imagecreatefrompng('...');
ob_start();
imagepng($img);
$bin = ob_get_clean();
$b64 = base64_encode($bin);

16voto

Reza Mamun Punkte 5613

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 ).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X