首頁  >  文章  >  後端開發  >  利用base64對圖片進行編碼及解碼

利用base64對圖片進行編碼及解碼

WBOY
WBOY原創
2016-07-30 13:31:591630瀏覽

試圖將圖片透過json進行傳輸,這個時候就想到利用base64編碼的方法來圖片。主要步驟有

1、對圖片檔案進行編碼,轉換為base64編碼的格式,及一長串字元;

2、可將字元透過json進行傳送;<br>

3、目的方接收json數組,取出編碼字串,並進行解碼,顯示圖片

此方法困難主要還是在於對圖片的編解碼處理,以下是用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>其中, 

<br>作用

執行一個正規表示式匹配

回傳值:

返回

pattern 的配對次數。 它的值將是0次(不匹配)或1次,因為preg_match()在第一次匹配後 將會停止搜尋。如果發生錯誤preg_match()回傳 FALSE<br>file_put_contents

()   

作用:將字串寫入檔案<br>

回傳值:此函數成功將傳回寫入檔案內資料的位元組數,並在失敗時傳回 FALSE。

<br><br>

,未經文章<br>

<br>
以上就介紹了利用base64對圖片進行編碼及解碼,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn