Remository和DocMan是Joomla下两个优秀的下载组件,但它们都存在一个问题,即:
如果你上传的是中文文件名,那么下载时则得到一个文件名是乱码的无效文件!
在网上参考了一篇文章,名为“自动修改DOCMAN上传的文件名称”,出自哪里我已经忘了,其原理是当上传文件时,自动产生一个以当前时间戳命名的文件,这就解决了上述问题。
受此启发,我对Remository的源文件进行了探讨,终于找到了要修改的地方,不敢独享,贡献给大家!
找到该文件:
joomla-root\components\com_remository\remository.class.php
定位到改行:
function saveFile () {
即找到函数saveFile
在以下行后:
$default_icon = array (
‘txt‘ => ‘document.gif‘,
‘exe‘ => ‘executable.gif‘,
‘tar‘ => ‘archive_tar.gif‘,
‘gz‘ => ‘archive_gz.gif‘,
‘rar‘ => ‘archive_rar.gif‘,
‘zip‘ => ‘archive_zip.gif‘,
‘png‘ => ‘pics.gif‘,
‘gif‘ => ‘pics.gif‘,
‘jpg‘ => ‘pics.gif‘,
‘pdf‘ => ‘pdf1.gif‘,
‘doc‘ => ‘word.gif‘,
‘rtf‘ => ‘word.gif‘,
‘xls‘ => ‘excel.gif‘
);
添加一行代码:
$this->realname=time().stristr($this->realname,".");
即可!
联系客服