让 FCKeditor 支持多用户Web环境(以PHP为例)

 更新时间:2009年06月24日 13:14:13   作者:  
FCKeditor 是个很优秀的 Web 编辑器,很多项目甚至产品中都在用它。但它默认的上传文件目录为/userfiles/,也就是说,如果在编辑器中上传了图片等文件的话
只能在/userfiles/文件夹下。对于多用户会员系统的网站系统,这显然是不合适的,因为是不能让所有用户都共享同一个资源文件夹的。
所以必须进行动态配置,让不同的用户把图片、Flash等资源文件上传到自己私有的文件夹下。
FCKeditor 是在 editor\filemanager\connectors\php\config.php 配置文件中进行上传目录配置的,核心语句是:
$Config['UserFilesPath'] = ‘/userfiles/';
只要修改该条语句,就能达到配置上传目录的目的。
以 lightPHP 这个流行的 CMS 为例,它的多用户文件夹在 /datas/userfiles/ 文件夹下,例如 /datas/userfiles/admin 是用户 admin 的用户目录,其他用户以此类推。所以如果某个用户登录后,$Config['UserFilesPath'] 数组的值就应该等于/datas/userfiles/[用户名]。这个可以通过会话来实现。例如,$_SESSION['current_user'] 代表当前用户名,那么配置语句就是:

复制代码 代码如下:

$Config['UserFilesPath'] = ‘/datas/userfiles/' . $_SESSION['current_user'] . ‘/';


这样就实现了多用户环境下上传目录的动态配置。
具体实现时,应当注意的问题是,要用 session,必须首先执行 session_start(); 语句。还有,在某些情况下,如果 session 丢失,还需要注意 session 的路径问题。
在 lightPHP 系统中,完整的配置语句是:

复制代码 代码如下:

session_save_path(realpath('../../../../../../datas/temp'));
session_start();
$Config['UserFilesPath'] = ‘/datas/userfiles/' . $_SESSION['current_user'] . ‘/';


更多问题,请与作者本人探讨。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangking/archive/2009/06/24/4293725.aspx

相关文章

最新评论