ホームページ  >  記事  >  バックエンド開発  >  Base64 を使用して画像をエンコードおよびデコードする

Base64 を使用して画像をエンコードおよびデコードする

WBOY
WBOYオリジナル
2016-07-30 13:31:591630ブラウズ

画像をjsonで送信しようとして、今回は画像のエンコードにbase64エンコード方式を使用することを考えました。主な手順は

1. 画像ファイルをエンコードし、base64 エンコード形式と文字列に変換します

2. 宛先は json 配列を受け取ります。それを取り出します 文字列をエンコードし、デコードして、画像を表示します<br>

このメソッドの主な難点は、画像のエンコードとデコードにあります。 以下は、PHPで実装されているエンコードとデコードのコードです

​​

<?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()

<br>関数

:

正規表現一致を実行戻り値:

Return 一致数。 preg_match() は最初の一致後に検索を停止するため、その値は 0 回 (一致なし) または 1 回になります。エラーが発生した場合は patternpreg_match() が返されます FALSE<br>

file_put_contents

() 関数: <br>ファイルに文字列を書き込みます

戻り値: この関数は、ファイルに正常に書き込まれたデータのバイト数を返し、失敗した場合は FALSE を返します。

FALSE。

<br><br>

<br>

<br>

🎜著作権表示: この記事はオリジナルの記事ですブロガーによるものであり、ブロガーの許可なく複製することはできません。 🎜🎜 🎜 上記では、コンテンツの側面も含めて、base64 を使用して画像をエンコードおよびデコードする方法を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。 🎜 🎜 🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。