Können Sie mir bitte zeigen, wie ich ein Bild von einer URL in eine base64-Codierung konvertieren kann?Wie konvertiert man ein Bild in die base64-Codierung?
Antwort
denke ich, 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 nicht identisch mit bloßen Base64-Codierung. –
Ganz einfach:
$imagedata = file_get_contents("/path/to/image.jpg");
// alternatively specify an URL, if PHP settings allow
$base64 = base64_encode($imagedata);
bedenken Sie, dass diese die Daten um 33% vergrößern wird, und Sie werden Probleme mit Dateien, deren Größe nicht überschreiten Ihre memory_limit
haben.
+1 für die Datenvergrößerung –
Einsatz auch auf diese Weise Bild in base64 kodieren Format darzustellen ... Fund PHP-Funktion file_get_content
und nächste Funktion base64_encode
verwenden und Ergebnis erhalten zur Vorbereitung str als data:" . file_mime_type . " base64_encoded string
. Verwenden Sie es im img src Attribut. siehe folgenden Code kann ich Ihnen helfen.
// 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.'">';
Wenn die Funktion mime_content_type nicht gefunden wurde, fügen Sie einfach die Funktion von svogal aus http://php.net/manual/en/function.mime-content-type.php hinzu. –
@Raju Rajotia Jangid cool +1 – pregmatch
<img src="data:image/png;base64,<?php echo base64_encode(file_get_contents("IMAGE URL HERE")) ?>">
ich diese Ressource zu nutzen versuchte, behielt aber einen Fehler bekommen, fand ich den obigen Code funktionierte perfekt.
einfach ersetzt BILD URL HIER mit der URL Ihres Bildes - http://www.website.com/image.jpg
Danke für die Komprimierung als so klein wie möglich UND Sie haben den img-Tag Use-Case enthalten. Beste Antwort sicher. – BarryMode
Hier ist der Code für den Upload zu codieren und an die MySQL
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 . "')");
}
}
Für zeigt das Bild Verwendung dieses
speichernecho "<img src='data:image/jpeg;base64, $image' width=300>";
Dies wurde nicht gefragt. – AlexioVay
Hier ist ein Beispiel mit einem cURL-Aufruf .. Dies ist besser als die file_get_contents() Funktion. Natürlich verwenden base64_encode()
$url = "http://example.com";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
curl_close($ch);
?>
<img src="data:image/png;base64,<?php echo base64_encode($output);?>">
Warum ist es besser? – ruuter
Sehr einfach und häufig verwendet werden:
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-Type der Datei automatisch Hilfe (unter hinzugefügt werden aus diesem PHP documentation).
Sie können auch über curl tun dies, nur einen Pfad zu einer Bilddatei müssen und es an die Funktion unten passieren ..
public static function getImageDataFromUrl($url)
{
$urlParts = pathinfo($url);
$extension = $urlParts['extension'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, 0);
$response = curl_exec($ch);
curl_close($ch);
$base64 = 'data:image/' . $extension . ';base64,' . base64_encode($response);
return $base64;
}
Gerade falls Sie sind (warum auch immer) nicht in der Lage zu verwenden curl
noch file_get_contents
, können Sie arbeiten, um:
$img = imagecreatefrompng('...');
ob_start();
imagepng($img);
$bin = ob_get_clean();
$b64 = base64_encode($bin);
- 1. Wie konvertiert man Textdaten in ein Bild?
- 2. Wie konvertiert man ein Bild in Zeichensegmente?
- 3. Wie konvertiert man ein Pyglet-Bild in ein PIL-Bild?
- 4. Wie konvertiert man ein Bild in ein Retina Display?
- 5. Wie konvertiert man ein nicht-transparentes Bild in ein Palettenbild?
- 6. Wie konvertiert man ein Bitmap-Bild in IntPtr in C#?
- 7. Wie konvertiert man ein Bild in eine Matrix in opencv
- 8. Wie konvertiert man ein Bild in Graustufen in nativen reagieren?
- 9. Wie konvertiert man Text in Bild?
- 10. Wie konvertiert man ein Bild in eine Zeichenfolge
- 11. Wie konvertiert man eine HTML-Webseite in ein Bild
- 12. Wie konvertiert man Text mit jquery in ein Bild?
- 13. Wie konvertiert man ein Bild von np.uint16 in np.uint8?
- 14. Wie konvertiert man ein Bild zu Base64 String in Java?
- 15. Wie konvertiert man HTML einer Website in ein Bild?
- 16. Wie konvertiert man ein Bild in WORD (uint16) Array?
- 17. Wie konvertiert man eine PDF in ein Bild?
- 18. Wie konvertiert man ein Bild in Base64 String
- 19. Wie konvertiert man ein IplImage in Mat?
- 20. PHP: Wie konvertiert man ein Bild von URL zu Base64?
- 21. Wie konvertiert man ein Bildobjekt in ein binäres Blob?
- 22. Wie konvertiert man die Dreiecksmatrix in NumPy in ein Quadrat?
- 23. Wie konvertiert man Bild in Byte-Array in Java?
- 24. Wie konvertiert man ein Datum in Millisekunden
- 25. Wie konvertiert man Bytearray zu Bild oder Bild zu Bytearray?
- 26. Wie konvertiert man ein SparseArray in ArrayList?
- 27. Wie konvertiert man ein Datum in YYYYDDD?
- 28. Wie konvertiert man System.IO.Stream in ein Image?
- 29. Wie man ein QJsonObject in QString konvertiert
- 30. Wie konvertiert man die Zeit jetzt in ein benutzerdefiniertes Datenformat?
Was tun Sie dies tun? –
, um es in src Attribut von Img Tag – Volatil3
Dies ist ein alter Thread, aber aus Gründen der Vollständigkeit: Es macht viel Sinn, Bilder zu verschlüsseln, besonders kleine (unter 1k), für den Einsatz in CSS. Auf diese Weise speichern Sie eine Anfrage, die aufgrund von Gemeinkosten länger dauert und möglicherweise noch größer ist. – arminrosu