PHP 將圖片轉化成base64編碼和解碼遇見的坑


這段時間,一直在搞郵件群發的系統,當發送帶有圖片的話,那本地的路徑訪問就有問題了。所以當時嘗試將圖片base64編碼化,一起發送過去。

但是  注意:  嘗試的結果是各大主流郵箱平台全部拒收,視為垃圾郵件!!!!!!!!!!

沒辦法只能在服務器上新建個文件夾來存放讀取的圖片.......

好了 不多說了  上代碼~

class img{

//傳入圖片地址,得到圖片的Base64編碼

    public function img2Base64($img_file){

    $img_base64 = '';

    $app_dir = dirname(dirname(dirname(__FILE__)));//根據你的需要得到絕對路徑

    $app_img_file = $app_dir . $img_file;   //組合出真實的絕對路徑

    $img_info = getimagesize($app_img_file);/取得圖片的大小,類型等

    $fp = fopen($app_img_file, "r");     //圖片是否可讀權限

     if ($fp) {

      $file_content = chunk_split(base64_encode(fread($fp, filesize($app_img_file))));//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);

 

     }

}

//調用方法

include "../Model/img.Class.php";

$Model = new img();

$img_dir = '\test\img\cc.jpg'; //絕對的路徑

$img_base64 = $Model->img2Base64($img_dir);//調用使用的方法--得到圖片

echo $img_base64;

echo '<img src="'.$img_base64.'">'; 

注意 這個轉化成base64的圖片無法作為背景圖片!!!!!!!!!  我嘗試過很多辦法  百度翻了好多頁 也沒找到方法  這個只能作為IMG 標簽來調用!!!!!!!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM