So konvertieren Sie ein Bild in die Base64-Codierung

Lesezeit: 4 Minuten

So konvertieren Sie ein Bild in die Base64 Codierung
Flüchtig3

Wie kann ich ein Bild von einer URL in die Base64-Codierung konvertieren?

  • Wozu willst du das machen?

    – Pekka

    19. Oktober 2010 um 10:46 Uhr

  • um es in das src-Attribut des Img-Tags einzubetten

    – Flüchtig3

    20. Oktober 2010 um 3:31 Uhr

  • Dies ist ein alter Thread, aber der Vollständigkeit halber: Es ist sehr sinnvoll, Bilder, insbesondere kleine (unter 1k), für die Verwendung in CSS zu codieren. Auf diese Weise sparen Sie eine Anfrage, die aufgrund des Overheads länger dauern würde und möglicherweise sogar größer ist.

    – arminrosu

    31. Oktober 2012 um 12:46 Uhr


So konvertieren Sie ein Bild in die Base64 Codierung
Ronny Scherer

Ich denke, dass es sein sollte:

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

  • Es hängt davon ab, wofür Sie das Bild benötigen. Wenn es sich um eine Inline-URL handelt, ist dies der richtige Weg. Es ist jedoch nicht identisch mit der reinen base64-Codierung.

    – Pekka

    31. Juli 2013 um 13:21 Uhr


  • Ausgezeichneter Tipp, jetzt werde ich eine Funktion zum Bearbeiten des Datei-Uploads erstellen oder move_uploaded_file() wiederherstellen, danke

    – Vinicius de Jesus

    28. März 2020 um 13:54 Uhr

  • Das funktionierte wie ein Zauber! Ich bin jetzt schon eine Weile beim DomPDF-Bild hängengeblieben, vielen Dank dafür!

    – Suomynona

    2. Mai 2021 um 23:21 Uhr

  • Die pathinfo($path, PATHINFO_EXTENSION) Teil funktioniert möglicherweise nicht mit SVG Bilder. Ändern Sie einfach die letzte Zeile in php $base64 = 'data:image/svg+xml;base64,' . base64_encode($data);

    – Eddie C.

    26. Januar um 17:01 Uhr


So konvertieren Sie ein Bild in die Base64 Codierung
Pekka

Leicht:

$imagedata = file_get_contents("/path/to/image.jpg");
             // alternatively specify an URL, if PHP settings allow
$base64 = base64_encode($imagedata);

Denken Sie daran, dass dadurch die Daten um 33 % vergrößert werden und Sie Probleme mit Dateien haben, deren Größe Ihre Größe überschreitet memory_limit.

  • @anna tut es! Base64-Codierung wird dies im Allgemeinen tun.

    – Pekka

    5. Februar 2019 um 8:34 Uhr

1646910246 393 So konvertieren Sie ein Bild in die Base64 Codierung
Raju Ram

Verwenden Sie diese Methode auch, um ein Bild im Base64-codierten Format darzustellen …

Suchen Sie die PHP-Funktion file_get_content und verwenden Sie als nächstes die Funktion base64_encode.

Und erhalten Sie das Ergebnis, um str as vorzubereiten 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="https://stackoverflow.com/questions/3967515/data:".mime_content_type($img_file).';base64,'.$imgData;

// Echo out a sample image
echo '<img src="'.$src.'">';

1646910246 15 So konvertieren Sie ein Bild in die Base64 Codierung
yckart

Nur für den Fall, dass Sie (aus welchen Gründen auch immer) nicht in der Lage sind, zu verwenden curl Noch file_get_contentskönnen Sie Folgendes umgehen:

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

1646910246 292 So konvertieren Sie ein Bild in die Base64 Codierung
GoldenGonaz

<img src="data:image/png;base64,<?php%20echo%20base64_encode(file_get_contents("IMAGE URL HERE")) ?>">

Ich habe versucht, diese Ressource zu verwenden, aber ich habe immer wieder eine Fehlermeldung erhalten. Ich fand, dass der obige Code perfekt funktionierte.

Ich habe gerade “BILD-URL HIER” durch die URL Ihres Bildes ersetzt – http://www.website.com/image.jpg

  • Das ist wertvoll

    – Santanu

    1. Oktober 2021 um 11:11 Uhr

1646910247 79 So konvertieren Sie ein Bild in die Base64 Codierung
Peter Mortensen

Sehr einfach und häufig 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="'%20.%20getDataURI('./images/my-file.svg')%20.%20'" alt="">';
echo '<img src="'%20.%20getDataURI('./images/my-file.png')%20.%20'" alt="">';

Hinweis: Der MIME-Typ der Datei wird automatisch hinzugefügt (mithilfe von diese PHP-Dokumentation).

  • Das ist wertvoll

    – Santanu

    1. Oktober 2021 um 11:11 Uhr

1646910247 79 So konvertieren Sie ein Bild in die Base64 Codierung
Peter Mortensen

Hier ist der Code zum Hochladen, um ihn zu codieren und in einer MySQL-Datenbank zu speichern:

if (!isset($_GET["getfile"])) {
    if ($_FILES["file"]["error"] > 0) {
        echo "Error: " . $_FILES["file"]["error"] . "<br>";
    } else {
        move_uploaded_file($_FILES["file"]["tmp_name"], $_FILES["file"]["name"]);

        $bin_string = file_get_contents($_FILES["file"]["name"]);
        $hex_string = base64_encode($bin_string);
        $mysqli = mysqli_init();

        if (!$mysqli->real_connect('localhost', 'root', '', 'arihant')) {
            die('Connect Error (' . mysqli_connect_errno() . ') ' . mysqli_connect_error());
        }

        $mysqli->query("INSERT INTO upload(image) VALUES ('" . $hex_string . "')");
    }
}

Verwenden Sie zum Anzeigen des Bildes Folgendes:

echo "<img src="data:image/jpeg;base64,%20$image" width=300>";

  • Dies wurde nicht verlangt.

    – AlexioVay

    3. Februar 2017 um 5:38 Uhr

987660cookie-checkSo konvertieren Sie ein Bild in die Base64-Codierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy