自动修改DOCMAN上传的文件名称

DOCMANMambo/Joomla!的插件,我认为它是最好的下载插件。此插件的效果可以看这里

但是,从我升级到Joomla1.0.8(DOCMAN版本1.3RC2)以来,如果上传的文件名包含中文,那么上传到服务器的文件就会变成乱码。但是,这个文件名在DOCMAN的管理界面中却显示正常。

这个问题的原因,是因为我使用了UTF-8编码,因此,我需要修改DOCMAN,让它自动更改我上传的文件名。

找到DOCMAN_file.class.php文件中的_upload函数定义(大约在381行),修改它为如下所示:

 1function _upload($name, $temp_name, $path)
 2{
 3if (is_uploaded_file($temp_name)) {
 4$name = time().stristr($name,".");
 5if (move_uploaded_file($temp_name, $path."/".$name)) {
 6$file = new DOCMAN_File($name, $path);
 7return $file;
 8} else {
 9$this->_err = _DML_DIRPROBLEM." ";
10}
11} else {
12$this->_err = _DML_DIRPROBLEM2." ";
13}
14return false;
15}

只是在原代码中加入了第4行。