Fckeditor 修改上传路径以及上传自动更改名称

测试版本:Fckeditor 2.6.3 beta

1.一般情况下,fckeditor上传文件是指定目录(我们这里假设上传到uploads目录中),但是在实际开发中,可能程序会运行在二级目录,http://www.domain.com/app/ 下,在一级目录文件以及目录不能增加或修改的情况下,那我们又得去修改fckeditor里的config.php文件设置上传文件夹,这在很多开源程序中意义重大,拿一个程序来说,我上传的文件永远会在这个目录里中的 uploads 文件夹中。不管我们把这个程序移动到任何子目录中都不需要修改,当然如果你要把uploads文件夹改成其他名字,也很方便。代码如下:

1
2
3
4
5
6
$tmp_workroot = '../../../../../../'; //设置此虚拟目录根路径
$tmp_path = realpath($tmp_workroot).'\uploads\\'; //得到绝对路径和合并上传目录
 
//$tmp_abs_path = str_replace('\\','\\\\',$tmp_path); //得到fckeditor接受的绝对路径地址,如果要使用绝对路径上传,程序运行在windows操作系统要用到此代码
$tmp_siteroot = str_replace('/','\\',$_SERVER['DOCUMENT_ROOT']);	//得到根目录并转换
$tmp_relative_path = str_replace('\\','/',str_replace($tmp_siteroot,'',$tmp_path)); //得到相对上传路径

把上面这段代码添加到 fckeditor\editor\filemanager\connectors\php\config.php 顶部,然后把
$Config['UserFilesPath'] = ‘/uploads/’ ;
改成:$Config['UserFilesPath'] = $tmp_relative_path ;
工作就完成了

2.自动更名
打开fckeditor\editor\filemanager\connectors\php\commands.php 文件
修改$sFileName = time().mt_rand().’.’.$sExtension; //这是我的文件名,格式是:unix时间戳+随机数+扩展名
你可以展开你天马行空的想象力去命令,例如按年、月、日目录分类

Tags:

Leave a Reply