博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ueditor富文本编辑器多用户版
阅读量:6262 次
发布时间:2019-06-22

本文共 2200 字,大约阅读时间需要 7 分钟。

hot3.png

ueditor是一款很不错的编辑器,xss等过滤的也很OK,但可惜是单用户,在多图上传的功能中,不同用户上传的图片都会被罗列出来,但很多用户的素材图片是私有的,不想被别的用户使用或者浏览,这里简单的改写一源码,实现多用户功能(php版):

上传类

php/action_upload.php

session_start();include "Uploader.class.php";//用户id$uid = $_SESSION['user']['id] ? $_SESSION['user']['id] : 0;/* 上传配置 */$base64 = "upload";switch (htmlspecialchars($_GET['action'])) {    case 'uploadimage':        //用户为会员时则将$CONFIG['imagePathFormat']中的某一级路径插入uid作为分隔路径        if (!empty($uid)) {            $config = array(                "pathFormat" => str_replace("uploads", "uploads/$uid", $CONFIG['imagePathFormat']),                "maxSize" => $CONFIG['imageMaxSize'],                "allowFiles" => $CONFIG['imageAllowFiles']            );        } else {            $config = array(                "pathFormat" => $CONFIG['imagePathFormat'],                "maxSize" => $CONFIG['imageMaxSize'],                "allowFiles" => $CONFIG['imageAllowFiles']            );        }        $fieldName = $CONFIG['imageFieldName'];        break;    ...    ...    ...

根据 uid 限制上传路径到个人目录

列表类

php/action_list.php

session_start();include "Uploader.class.php";//用户id$uid = $_SESSION['user']['id] ? $_SESSION['user']['id] : 0;/* 判断类型 */switch ($_GET['action']) {    /* 列出文件 */    case 'listfile':        $allowFiles = $CONFIG['fileManagerAllowFiles'];        $listSize = $CONFIG['fileManagerListSize'];        $path = $CONFIG['fileManagerListPath'];        break;    /* 列出图片 */    case 'listimage':    default:        $user_info = $_SESSION['user_info'];        $allowFiles = $CONFIG['imageManagerAllowFiles'];        $listSize = $CONFIG['imageManagerListSize'];        if (!empty($uid)) {            $path = str_replace("uploads", "uploads/$uid", $CONFIG['imageManagerListPath']);        } else {            $path = $CONFIG['imageManagerListPath'];        }}

根据 uid 限制罗列出个人目录下的图片

概括:

当然,这只是举例,你可以根据自己的项目需求设计个人目录的格式串,只要保证和当前用户能相关联起来即可,同时将此格式串穿插到配置文件中的 “imageManagerListPath”路径里即可,这里我简单的使用字符串替换 。

$CONFIG['imagePathFormat'] 和 $CONFIG['imageManagerListPath'] 的配置在同级目录下的  config.json 文件中。

这里我上传的路径为 public/uploads/yyyymmdd 格式,所以我选择了 uploads 将其替换为 uploads/uid 的格式,在列举图片时也动态修改路径为 uploads/uid 下的,这样就可以将活动路径限制在每个用户自己的名下。

转载于:https://my.oschina.net/sallency/blog/825702

你可能感兴趣的文章
Color Length UVALive - 5841
查看>>
asp.net连接SQL SERVER 2012的方法
查看>>
Electron开发环境部署
查看>>
MAC下安装MAMP的PHPredis扩展
查看>>
通过函数指针调用函数
查看>>
苹果虚拟机显示卡顿
查看>>
对代码评审的感想(回忆篇)
查看>>
LOJ#6437. 「PKUSC2018」PKUSC
查看>>
[学习笔记]同余
查看>>
报表开发工具中开放的部分图表js接口列表
查看>>
如何实现 Python 中 selnium 模块的换行
查看>>
Scut游戏服务器引擎6.0.5.0发布-支持C#脚本
查看>>
有关FPGA
查看>>
[caffe(二)]Python加载训练caffe模型并进行测试2
查看>>
javasrcipt——正则
查看>>
事务的特性——ACID
查看>>
VUE页面渲染问题
查看>>
day38——多进程Manager、进程池
查看>>
Asp.Net 弹出窗体始终在顶层方法
查看>>
C语言字符串函数总结--<转载>
查看>>