首页 > 语言 > PHP > 正文

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

2024-07-21 02:53:32
字体:
来源:转载
供稿:网友
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


注:相关教程知识阅读请移步到编辑器频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表