php若何将图片文件转化为base64编码格局
PHP对Base64的支持十分好,有内置的base64_encode与base64_decode担任图片的Base64编码与解码。
编码上,只需将图片流读取到,然后应用base64_encode进前进行编码便可失去。
/** * 猎取图片的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>' . print_r($img_info, true) . '</pre><br>'; $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 '<img src="' . $img_base64 . '">'; //图片方式展现 echo '<hr>'; echo $img_base64; //输入Base64编码
而解码就稍微费事一点,究其缘由正在于把图片编码成base64字符串后,编码内会退出这些字符 data:image/png;base64,原本是用于base64进行辨认的。然而假如间接放到php里用base64_decode函数解码会招致终极保留的图片文件格局损坏,而处理办法就是先去掉这一串字符:
$base64_string= explode(',', $base64_string); //截取data:image/png;base64, 这个逗号后的字符 $data= base64_decode($base64_string[1]); //对截取后的字符应用base64_decode进行解码 file_put_contents($url, $data); //写入文件并保留
保举教程:《PHP教程》
以上就是php若何将文件转化为base64编码格局的具体内容,更多请存眷资源魔其它相干文章!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!