环境:
ckeditor : 3.5
ckfinder(php) : 2.26
tomcat: 6.0
quercus: 4.0.11
实现的效果:
在ckeditor 访问是只允许访问到 公共目录(public),每个用户的目录独立。
目录结构
userfile/public/
file/
images/
flashs/
userfile/user1
file/
images/
flashs/
userfile/user2
file/
images/
flashs/
步骤:
quercus 项目,它实现了在JAVA中对PHP的解析,使得我们能够在java项目中包含php文件.
如果有什么不清楚,请看我的另一篇文章: ckeditor java 中使用 ckfinder(php)
如果要达到根据用户划分目录的话,就需要将用户的信息传递给 php.
而ckfinder的操作全部都进行了封装,不能在请求参数上做操作就只能跟php通信了。
查看quercus文档: 文档只更新到了3.1 . 地址: http://quercus.caucho.com/quercus-3.1/doc/quercus.xtp
里面有一段说明java request,session 信息 在 php 中如何获得.
但是这个是3.1的文档,通过bug 跟踪: http://bugs.caucho.com/view.php?id=3794 知道
request 对象 通过方法quercus_servlet_request() 获得。
好了,现在通信的问题解决了。
我们只需要在访问 用户目录 时在session中存入用户的信息,在ckeditor 访问时移除用户信息.
1.增加一个请求的跳转,添加与移除session用户信息:
2.修改ckeditor/config.js
访问用户目录时请求路径:/userFileAction.do?action=userFile&manage=true
3.修改 ckfinder/config.php 加入代码
功能已经实现了。