使用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,然后保存上传到对应的文件目录下,到网站后台更新下缓存。然后就可以在后台上传您需要传的图片了。
新闻热点
疑难解答