KCFinder与CKEditor - 为上传文件设置动态文件夹

Zab*_*abs 2 php file-upload image

我正在使用CCFditor和KCFinder - 我想根据动态值创建个人上传文件.

我想在登录后根据SESSION值动态更改用户可以上传的文件夹.

登录后我想限制用户可以通过KCFinder插件访问的文件夹,例如..

User abc their path would be abc/images
User foo their path would be foo/images
User abc cannot see foo's images & vice-versa
Run Code Online (Sandbox Code Playgroud)

Fre*_*red 5

我有同样的问题,并使事情变得更糟,这取决于谁登录,管理员或标准成员.

当然,我把它整合到了TinyMCE中,但我认为原理是一样的

这是我解决问题的方法

我的文件夹结构是

/my_uploads/media

/my_uploads/media/member_folder
Run Code Online (Sandbox Code Playgroud)
  1. 初始化config.php文件顶部的php会话

    在session_start()

  2. 编辑'types'=>数组并注释掉所有不同的'类型'

    // CKEditor & FCKEditor types
    // 'files'   =>  "",
    // 'flash'   =>  "swf",
    // 'images'  =>  "*img",
    
    // TinyMCE types
    // 'files'    =>  "",
    // 'media'   =>  "swf flv avi mpg mpeg qt mov wmv asf rm",
     // 'image'   =>  "*img",
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将以下"类型"添加到数组中

    $ _SESSION ['fold_type'] =>"*img swf flv avi mpg mpeg qt mov wmv asf rm",

  4. 保存config.php文件

  5. 打开初始化编辑器的应用程序页面并调用KCFinder

  6. 在初始化编辑器之前,添加以下行来声明各种KCFinder变量

    $_SESSION['KCFINDER'] = array();
    $_SESSION['KCFINDER']['disabled'] = false; // Activate the uploader,
    $_SESSION['KCFINDER']['uploadURL'] = "/uploads"; 
    $_SESSION['fold_type'] = "media"; 
    
    Run Code Online (Sandbox Code Playgroud)

要么

    $_SESSION['KCFINDER'] = array();
    $_SESSION['KCFINDER']['disabled'] = false; // Activate the uploader,
    $_SESSION['KCFINDER']['uploadURL'] = "/my_uploads/media/Members";
    $_SESSION['fold_type'] = "member_account_number_pulled_from_secure_session_variable";
Run Code Online (Sandbox Code Playgroud)

7将这条线留在你称之为上传者的地方;

   file: '../tiny_mce/plugins/kcfinder/browse.php?opener=tinymce',
Run Code Online (Sandbox Code Playgroud)

为KCFinder动态设置上传文件夹