Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie Bilder in PHP in das Base64-Kodierungsformat
So konvertieren Sie Bilder in das Base64-Codierungsformat in PHP: Lesen Sie zuerst den Bildstream und verwenden Sie dann die Funktion [base64_encode], um das Codierungsformat zu konvertieren.
Empfohlen: „php-Video-Tutorial“
Problem mit base64_decode von PHP beim Speichern von Base64-Bildern
PHP unterstützt Base64 sehr gut, mit integriertem base64_encode und base64_decode, die für die Base64-Kodierung und -Dekodierung von Bildern verantwortlich sind.
In Bezug auf die Codierung lesen Sie einfach den Bildstream und verwenden Sie dann base64_encode, um ihn zu codieren.
/** * 获取图片的Base64编码(不支持url) * @date 2017-02-20 19:41:22 * * @param $img_file 传入本地图片地址 * * @return string */ function imgToBase64($img_file) { $img_base64 = ''; if (file_exists($img_file)) { $app_img_file = $img_file; // 图片路径 $img_info = getimagesize($app_img_file); // 取得图片的大小,类型等 //echo '<pre class="brush:php;toolbar:false">' . print_r($img_info, true) . '
Die Dekodierung ist etwas mühsamer. Der Grund dafür ist, dass nach der Kodierung des Bildes in eine Base64-Zeichenfolge diese Zeichen data:image/png;base64 zur Kodierung hinzugefügt werden, die ursprünglich für die Base64-Erkennung verwendet wurde. Wenn Sie es jedoch direkt in PHP einfügen und die Funktion base64_decode zum Dekodieren verwenden, wird das Format der endgültig gespeicherten Bilddatei beschädigt. Die Lösung besteht darin, zuerst diese Zeichenfolge zu entfernen:
$base64_string= explode(',', $base64_string); //截取data:image/png;base64, 这个逗号后的字符 $data= base64_decode($base64_string[1]); //对截取后的字符使用base64_decode进行解码 file_put_contents($url, $data); //写入文件并保存
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Bilder in PHP in das Base64-Kodierungsformat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!