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版本對縮略圖作檢查時程序使用了多條件判斷,導致非管理員級別的會員編輯時出錯。