dedecms有时候会提示“Not allow filename for not userdir”,具体解决办法如下:

v5.6版本的程序请修改include/helpers/common.func.php文件,在里面找到下面的代码:

 

else if( !eregi('^http:', $handname) && !eregi('^'.$cfg_user_dir.'/'.$userid, $handname) && !$isadmin )

 

将其替换为下面的代码:

 

else if( eregi('^http:', $handname) && !eregi('^'.$cfg_user_dir.'/'.$userid, $handname) && !$isadmin )

 

也就是把eregi前面的感叹号去掉。

 

v5.7版本的程序请修改include/helpers/upload.helper.php文件,在里面找到如下代码:

 

else if( !preg_match('#^http:#', $handname) && !preg_match('#^/'.$cfg_user_dir.'/'.$userid."#", $handname) && !$isadmin )

 

 

将其替换为下面的代码:

 

else if( preg_match('#^http:#', $handname) && !preg_match('#^/'.$cfg_user_dir.'/'.$userid."#", $handname) && !$isadmin )

 

修改完成后就可以了,因为v5.7版本对缩略图作检查时程序使用了多条件判断,导致非管理员级别的会员编辑时出错。