这段时间,一直在搞邮件群发的系统,当发送带有图片的话,那本地的路径访问就有问题了。所以当时尝试将图片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 标签来调用!!!!!!!!!