使用dedecms建站的站長朋友們也許都遇到了同樣的一個糾結的問題,那就是在網站的后臺發布文章的時候不能上傳圖片,上傳的時候總是提示上傳失敗,或者不提示,總之就是傳不了,那么究竟是什么原因導致這個問題存在的呢?有很多站長朋友們都會想到以下幾種原因:第一是不是空間做了安全限制,不能上傳。第二是不是空間的權限不夠,導致上傳失敗。第三是不是操作系統的問題導致的呢?第四:這個開源程序本省的問題導致。小編總結下一般最重要的就是兩點第一權限不夠。第二程序有bug.今天小編果然再次遇到了這個問題。下決心一定要解決這個問題。開始的時候小編登陸到主機空間下查看了下權限沒有錯都是755權限。小編一步步細心的排查,終于找的了dedecms一直延續到現在的5.7都存在的程序中的bug,也是導致在后臺不能上傳圖片的真兇所在。
第一步:我們按照以下目錄的路徑找到include/uploadsafe.inc.php文件
第二步:用一款編輯軟件打開uploadsafe.inc.php文件找到以下代碼45行-59行:
- $imtypes = array
- (
- “image/pjpeg”, “image/jpeg”, “image/gif”, “image/png”,
- “image/xpng”, “image/wbmp”, “image/bmp”
- );
- if(in_array(strtolower(trim(${$_key.’_type’})), $imtypes))
- {
- $image_dd = @getimagesize($$_key);
- if (!is_array($image_dd))
- {
- exit(‘Upload filetype not allow !’);
- //Vevb.com
- }
- }
- }
在以上小編標記的兩處可以清晰的看到這個圖片類型的代碼寫錯了。在封裝好的函數中imgtypes是指圖片類型,imtypes是指什么呢? 這才是重要導致網站后臺不能上傳圖片的問題所在,那么我們該如何修改呢?小編已經測試過了毫無疑問直接把45行和51行的$imtypes修改為$imgtypes,然后保存上傳到對應的文件目錄下,到網站后臺更新下緩存。然后就可以在后臺上傳您需要傳的圖片了。
新聞熱點
疑難解答