Heim  >  Artikel  >  Backend-Entwicklung  >  Wie konvertiere ich Bilder in PHP nach Base64?

Wie konvertiere ich Bilder in PHP nach Base64?

青灯夜游
青灯夜游Original
2020-11-05 10:52:493580Durchsuche

In PHP können Sie die Funktionen base64_encode() und chunk_split() verwenden, um Bilddateien base64 zu kodieren und in das Base64-Format zu konvertieren. Das Syntaxformat ist „chunk_split(base64_encode(fread(file, size)“.

Wie konvertiere ich Bilder in PHP nach Base64?

Empfohlen: „PHP-Video-Tutorial“PHP bietet eine sehr gute Unterstützung für Base64. Es gibt integrierte base64_encode und base64_decode, die für die Base64-Kodierung und -Dekodierung von Bildern verantwortlich sind.

Für die Kodierung lesen Sie einfach den Bildstream und dann Verwenden Sie base64_encode. Sie können es durch Codierung erhalten

/**
 * 获取图片的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 &#39;<pre class="brush:php;toolbar:false">&#39; . print_r($img_info, true) . &#39;

'; $fp = fopen($app_img_file, "r"); // 图片是否可读权限 if ($fp) { $filesize = filesize($app_img_file); $content = fread($fp, $filesize); $file_content = chunk_split(base64_encode($content)); // base64编码 switch ($img_info[2]) { //判读图片类型 case 1: $img_type = "gif"; break; case 2: $img_type = "jpg"; break; case 3: $img_type = "png"; break; } $img_base64 = 'data:image/' . $img_type . ';base64,' . $file_content;//合成图片的base64编码 } fclose($fp); } return $img_base64; //返回图片的base64 } //调用使用的方法 $img_dir = dirname(__FILE__) . '/uploads/img/11213223.jpg'; $img_base64 = imgToBase64($img_dir); echo ''; //图片形式展示 echo '
'; echo $img_base64; //输出Base64编码

Der Grund dafür ist, dass nach dem Codieren des Bildes in eine Base64-Zeichenfolge die folgenden Zeichen zur Codierung hinzugefügt werden: Dies wird ursprünglich für base64 verwendet. Wenn Sie es jedoch direkt in PHP einfügen und die Funktion base64_decode zum Dekodieren verwenden, wird das endgültig gespeicherte Bilddateiformat beschädigt. Die Lösung besteht darin, zuerst diese Zeichenfolge zu entfernen:

rrree

Weitere Kenntnisse zum Thema Programmierung finden Sie unter:

Einführung in die Programmierung

!

Das obige ist der detaillierte Inhalt vonWie konvertiere ich Bilder in PHP nach Base64?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn