当前位置:首页 > 网站管理 > 正文内容

UEditor 添加在线管理图片删除功能

wzccxx5年前 (2021-06-05)网站管理21

第一,需要添加一个 php 文件来实现删除功能,文件添加到: ueditor\php\action_delete.php 代码内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
  
/*---------------------------
 * wang
 *zhibeiwang.blog.51cto.com
 * 2017-08-10
 * action_delete.php
 * 删除 Ueditor 目录下的文件
 *---------------------------*/
  
try {
    //获取路径
    $path $_POST['path'];
    $path str_replace('../'''$path);
    $path str_replace('/''\\'$path);
     
    //安全判断(只允许删除 ueditor 目录下的文件)
    if(stripos($path'\\ueditor\\') !== 0)
    {
        return '非法删除';
    }
     
    //获取完整路径
    $path $_SERVER['DOCUMENT_ROOT'].$path;
    if(file_exists($path)) {
        //删除文件
        unlink($path);
        return 'ok';
    else {
        return '删除失败,未找到'.$path;
    }
catch (Exception $e) {
    return '删除异常:'.$e->getMessage();
}

第二,需要在 ueditor\php\controller.php 文件的 switch 中添加命令 deleteimage 的处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
....
  
switch ($action) {
  
    ....
    
    /* 删除图片命令处理 */
    case 'deleteimage':
         $result include('action_delete.php');
         break;
     
    /* 在 default 之前添加 */
    default:
        $result = json_encode(array(
            'state'=> '请求地址出错'
        ));
        break;
  
}
  
....

第三,在图片上添加删除按钮,需要修改 Js 文件:ueditor\dialogs\image\image.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
....
  
/* 在这两句之后添加 */
item.appendChild(img);
item.appendChild(icon);
  
/* 添加删除功能 */
item.appendChild($("<span class='delbtn' url='" + list[i].url + "'></span>").click(function() {
    var del = $(this);
    try{
        window.event.cancelBubble = true; //停止冒泡
        window.event.returnValue = false; //阻止事件的默认行为
        window.event.preventDefault();    //取消事件的默认行为  
        window.event.stopPropagation();   //阻止事件的传播
    } finally {
        if(!confirm("确定要删除吗?")) return;
        $.post(editor.getOpt("serverUrl") + "?action=deleteimage", { "path": del.attr("url") }, function(result) {
            if (result == "ok") del.parent().remove();
            else alert(result);
        });
    }
})[0]);
  
/* 在这一句之前添加 */
this.list.insertBefore(item, this.clearFloat);
  
....

第四,为删除按钮添加一个样式,修改文件:ueditor\dialogs\image\image.css 在最底部添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* 在线管理删除按钮样式 */
#online li .delbtn {      
    position: absolute;
    top: 0;
    right: 0;
    border: 0;   
    z-index: 3;
    color: #ffffff;
    display: inline;
    font-size: 12px;
    line-height: 10.5px;
    padding:3px 5px;
    text-align: center;
    background-color: #d9534f;
}


扫描二维码推送至手机访问。

版权声明:本文由泰山森林发布,如需转载请注明出处。

本文链接:https://wzc.tzts.ltd/post/64.html

分享给朋友:

相关文章

dede织梦data目录正确迁移及引起的问题解决方法

dede织梦data目录正确迁移及引起的问题解决方法

教程1:关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题。比如验证码问题, 图片显示问题等等一大堆。织梦官方这种是很不负责任的,因为那个教程有很大缺陷。这里跟大家提供一...

修改DedeCMS默认文档标题长度的方法 解决织梦文档标题不够长度

修改DedeCMS默认文档标题长度的方法 解决织梦文档标题不够长度

修改DedeCMS默认文档标题长度的方法 解决织梦文档标题不够长度,这个问题主要是dedecms v5.X版本以后针对出现,如果标题长度大于30个汉字就无法显示了。 解决方法有两步:一、先要在系统参数下的其他选项中修改文...

dede取消后台登陆验证码

找到织梦程序data\safe\inc_safe_config.php文件,然后用Edit打开(其它代码编辑器也可以但是切记不要用记事本打开,避免出错)找到以下代码,去掉“6”保存即可;(这种方法的作用就是关掉织梦登陆后台的验证码功能,百试...

织梦后台点击缩略图浏览出现提示:“需输入后台管理目录才能登录”

织梦后台点击缩略图浏览出现提示:“需输入后台管理目录才能登录” 使用织梦那么久了,还真是第一次遇到这情况提示“需输入后台管理目录才能登录”,最后看到网友也有相关回答了,下面是总结的解决办法跟大家分享:第一步:找到程序目录inclu...

DEDE 5.7 PHP5.4 5.5 编辑器变空白的解决方案

追根溯源,是htmlspecialchars惹的祸,PHP 5.4后GBK编码下默认不支持中文,转换后内容为空,太TM坑爹了!UTF-8编码没有任何问题。解决办法:[php] view plain copy p...

dede织梦自适应模板首页或者列表图片错位变形解决办法,自定义缩略图尺寸

这篇文章主要为大家详细介绍了织梦自适应模板首页或者列表图片错位变形或者失真解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。     在给用户制作织梦自适应模板的时候...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。