>백엔드 개발 >PHP 튜토리얼 >base64를 사용하여 이미지 인코딩 및 디코딩

base64를 사용하여 이미지 인코딩 및 디코딩

WBOY
WBOY원래의
2016-07-30 13:31:591665검색

json을 통해 이미지를 전송하려고 할 때 base64 인코딩을 사용하여 이미지를 인코딩할까 생각했습니다. 주요 단계는

1. 이미지 파일을 base64로 인코딩된 형식과 긴 문자열로 변환합니다.

2. json을 통해 문자를 전송합니다. ><br>3. 대상은 json 배열을 받아 인코딩된 문자열을 꺼내서 디코딩하고 이미지를 표시합니다.

이 방법의 가장 큰 어려움은 이미지의 인코딩 및 디코딩에 있습니다. PHP에서 구현한 인코딩 처리 코드

<p></p>

그 중

<?php
        $image_file = &#39;./uploads/14391214729290.jpg&#39;;

        //读取图片文件,并转换成base64编码格式
        $image_info = getimagesize($image_file);
        $base64_image_content = "data:{$image_info[&#39;mime&#39;]};base64," . chunk_split(base64_encode(file_get_contents($image_file)));
        //echo $base64_image_content;

        //将base64字符串解码并保存为原来图片格式
        if (preg_match(&#39;/^(data:\s*image\/(\w+);base64,)/&#39;, $base64_image_content, $result)){
            $type = $result[2];
            $new_file = "./newfile.{$type}";
            if (file_put_contents($new_file, base64_decode(str_replace($result[1], &#39;&#39;, $base64_image_content)))){
                echo &#39;新文件保存成功:&#39;, $new_file;
            }

        }
        //显示图片
        <img src="<?php echo $base64_image_content;?>" />
 ?>
<br>

preg_match() <span></span><br>

함수

: 정규식 일치 수행<span></span>

반환 값:

return 에 대한 일치 수입니다. preg_match()pattern가 첫 번째 일치 이후 검색을 중지하므로 값은 0(일치 없음) 또는 1이 됩니다. 오류가 발생하면 preg_match()가 반환됩니다. . FALSE<br>

file_put_contents () <span></span><br>함수:

파일에 문자열 쓰기

<span></span>

반환 값: 이 함수는 파일에 성공적으로 작성된 데이터를 반환합니다. 바이트 수,

FALSE。

<br><span></span><br>

<p></p><br><br>저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.

위 내용은 내용의 측면을 포함하여 이미지를 인코딩하고 디코딩하기 위한 base64 사용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.