PHP는 이미지 파일을 base64 인코딩 형식으로 어떻게 변환합니까?
PHP는 Base64를 매우 잘 지원하며 이미지의 Base64 인코딩 및 디코딩을 담당하는 base64_encode 및 base64_decode가 내장되어 있습니다.
인코딩 측면에서는 이미지 스트림을 읽은 다음 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 class="brush:php;toolbar:false">' . print_r($img_info, true) . '
디코딩이 좀 더 번거롭습니다. 그 이유는 이미지를 base64 문자열로 인코딩한 후 원래 base64 인식에 사용되는 data:image/png;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 인코딩 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!