新聞中心
Ecshop后臺(tái)上傳圖片后強(qiáng)制轉(zhuǎn)換成jpg格式的小bug的調(diào)試方法
Ecshop這個(gè)開(kāi)源的程序有些小小的bug,因此很多使用這個(gè)開(kāi)源程序的站長(zhǎng)朋友們都會(huì)進(jìn)行二次開(kāi)發(fā)和維護(hù)。今天無(wú)憂主機(jī)小編也找到了一個(gè)小小的bug ,那就是在Ecshop后臺(tái)上傳圖片有的是jpeg,png,gif等格式的圖片,但是經(jīng)過(guò)上傳后會(huì)被強(qiáng)制轉(zhuǎn)換為通用的jpg格式的。小編感覺(jué)挺神奇的,也許不只是小編這樣想,很多站長(zhǎng)朋友們有時(shí)候按照需要也是想要保留上傳時(shí)候的圖片格式吧,于是小編到數(shù)據(jù)庫(kù)中查看了下保存的路徑也是轉(zhuǎn)換為了jpg格式的。小編仔細(xì)對(duì)程序和模板進(jìn)行了分析和調(diào)試,經(jīng)過(guò)小編一番倒騰后終于找到了這個(gè)小小的bug的改善方法。下面小編為大家分享下具體的解決方案。 首先找到主機(jī)根目錄下的文件includes\cls_image.php 文件。大概在此程序的262行找到這個(gè)函數(shù):function_exists('imagejpeg')。 把以下代碼替換,具體如下所示: 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; } 其實(shí)這是個(gè)if判斷,而無(wú)憂主機(jī)小編修改的本質(zhì)是把: function_exists('imagejpeg') 修改成了 $org_info['mime']=='image/jpeg'。修改完成后再檢查一編是否修改到位。確認(rèn)按照修改后保存上傳到對(duì)應(yīng)的路徑下替換原程序文件。這時(shí)候我們?cè)俚顷慐cshop的網(wǎng)站后臺(tái)在網(wǎng)站的右上角有個(gè)更新緩存,更新緩存后小編又試著傳了一張png格式的商品圖片發(fā)布到網(wǎng)站的前臺(tái)。這時(shí)候點(diǎn)擊屬性查看的時(shí)候果然是png格式的了。感謝大家對(duì)無(wú)憂主機(jī)的大力支持,小編也希望以后能寫(xiě)出更加優(yōu)秀的文章幫到大家。 相關(guān)文章推薦閱讀: ECSHOP后臺(tái)商品詳情無(wú)法上傳圖片 如何取消ECSHOP“后臺(tái)的云提醒未激活 點(diǎn)擊激活” ECSHOP后臺(tái)添加新商品文本編輯器工具欄無(wú)法顯示問(wèn)題匯總 ECSHOP網(wǎng)站從WINDOWS虛擬主機(jī)遷移搬家到LINUX主機(jī)下報(bào)錯(cuò)的解決方案
本文地址:http://www.gle-technology.com/ecshop/14003.html