三二互联专业提供速度最快最稳定的美国服务器、香港服务器。中美直连,亚洲优化![ 代理登陆 ] [ 付款方式 ] [ 找回密码 ][ 电子协议责任书 ]
硬件资源保障

采用高配品牌服务器

主流强悍CPU配置

确保服务高速稳定运行

中美直连线路

中美直连亚洲优化

采用中国CN2骨干网络

保证速度飞快稳定高效

解决DEDEcms 出现“Upload filetype not allow”问题

美国、香港服务器

解决DEDEcms 出现“Upload filetype not allow”问题

04-23   来源:

  Upload filetype not allow是告诉我们上传文件类型不对或没有权限了,在这里我们来看dedecms上传文件报错Upload filetype not allow问题解决方案.

 
如果有同学是按某些朋友用删除代码的方法解决问题的话,建议你修正此做法,毕竟这是有很大安全风险的,而DEDE本身的安全隐患比较多,任何不安全的修改和操作都会断送掉网站的安全.
 
$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)) 
 
 { //phpfensi.com 
 
 exit("Upload filetype not allow !"); 
 
 } 
 
 } 
 
这里的$$_key,指的是上传文件的临时路径,如“d:/php/temp/aaa.tmp”。
 
我们可以看出,这getimagesize($$_key)这个方法,是在请求PHP临时目录的读取权限,如果d:/php/temp没有读取权限就会出现无法读取的错误.
 
@getimagesize($$_key);返回的值其实是False,而这里DEDE程序员简单的使用了@屏掉错误提示,并没有考虑到权限问题,造成用户无法了解真正错误原因是没有目录权限,而不是文件类型不允许.
 
一顿茫然.
 
修改办法如下:
 
1,在PHP.ini中添加d:/php/temp的读写权限,这一步基本上都不用操作,因为这个目录一般都是可读写的,不然任何文件都无法上传;
 
2,部份虚拟主机用户,可能添加了php_admin_value open_basedir 指令,在这里,我们要求添加上临时目录的权限,如:“php_admin_value open_basedir "E:/wwwroot/www.a.com;D:/PHP/temp"”
 
然后重启WebServer,至此,问题解决.

三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快

上一篇:linux服务器的安全设置 下一篇:FTP上传错误排查

美国GIA服务器三二互联版权所有 WWW.222.cc 2008-2015 All Rights Reserved
三二互联 - 专业的美国C3服务器香港vps、抗DOOS流量清洗、云备份系统、网站加速系统、美国GIA服务器和香港云服务器产品提供商
三二互联24小时在线工单系统为您提供全面、专业、周到的技术支持与服务
咨询热线:400-679-9994(免长话费)