在ecshop后台上传图片为 png或gif格式时,前台展示的图片显示依然为jpg格式,数据库存值也是如此。ECSHOP程序强制所有相册显示图为JPG通用格式了。有没方法,让原图与相册图都同个格式,如PNG,还是PNG
最模板结果一番倒腾之后,研究出以下方法。
找出ecshop文件includes\cls_image.php 文件,查找代码 if (function_exists('imagejpeg')) 【 262行】
/* 生成文件 */
if (function_exists('imagejpeg'))
{
$filename .= '.jpg';
imagejpeg($img_thumb, $dir . $filename,95);
}
elseif (function_exists('imagegif'))
{
$filename .= '.gif';
imagegif($img_thumb, $dir . $filename);
}
elseif (function_exists('imagepng'))
{
$filename .= '.png';
imagepng($img_thumb, $dir . $filename);
}
else
{
$this->error_msg = $GLOBALS['_LANG']['creating_failure'];
$this->error_no = ERR_NO_GD;
return false;
}
修改成:
/* 生成文件 */
if ($org_info['mime']=='image/jpeg')
{
$filename .= '.jpg';
imagejpeg($img_thumb, $dir . $filename,95);
}
elseif ($org_info['mime']=='image/gif')
{
$filename .= '.gif';
imagegif($img_thumb, $dir . $filename);
}
elseif ($org_info['mime']=='image/png')
{
$filename .= '.png';
imagepng($img_thumb, $dir . $filename);
}
else
{
$this->error_msg = $GLOBALS['_LANG']['creating_failure'];
$this->error_no = ERR_NO_GD;
return false;
}
仔细核对下是 function_exists('imagejpeg') 修改成了 $org_info['mime']=='image/jpeg'