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

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

<?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 的处理:

....
 
switch ($action) {
 
    ....
   
    /* 删除图片命令处理 */
    case ‘deleteimage‘:
         $result = include(‘action_delete.php‘);
         break;
    
    /* 在 default 之前添加 */
    default:
        $result = json_encode(array(
            ‘state‘=> ‘请求地址出错‘
        ));
        break;
 
}
 
....

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

....
 
/* 在这两句之后添加 */
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 在最底部添加如下代码:

/* 在线管理删除按钮样式 */
#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;
}

效果如下:

时间: 2024-10-11 09:58:00

UEditor 添加在线管理图片删除功能的相关文章

删除百度Ueditor编辑器 在线管理 图片搜索 功能

网上现有的删除教程不对,如果删不干净,在IE浏览器下,选择图片的按钮就要消失不见啦~ 我这里是1.4.3 php版本 因为已经删完了 所以也找不到原来的内容了(主要是懒),所以大体说一下怎么删,自己留个记录. dialogs\image\image.js 删除头部  var 定义的两个相关变量 删除后面相关的函数 dialogs\image\image.html 删除 <span class="tab" data-content-id="online">

php版给UEditor的图片在线管理栏目增加图片删除功能

1.找到uedior/dialogs/image/image.js文件,Add为修改部分的代码: /** * tab点击处理事件 * @param tabHeads * @param tabBodys * @param obj */ function clickHandler(tabHeads, tabBodys, obj) { //head样式更改 for (var k = 0, len = tabHeads.length; k < len; k++) { tabHeads[k].classN

[百度编辑器]Ueditor在线管理图片

前言: 今天最近公司在做CMS用到了编辑器,Ueditor是一个很好的选择,非常强大,但是今天遇到了一个很棘手的问题:在线管理图片的页面不能显示我之前上传的图片,调试了一下午终于解决了这个问题,写这篇帖子希望能帮助到其他人.废话结束 想要使用这个插件你需要做这几步: 1.下载UM 或者 UE 地址:http://ueditor.baidu.com/website/index.html 这里UM UM 就是百度编辑器的两个版本,一个功能少,一个功能更多,具体介绍看官方解释吧. 2.创建一个Web工

SSH系统下,Ueditor1.4.3编辑器配置,增加图片删除功能+数据库存储

版本说明:Ueditor编辑器 1.4.3JSP.UTF-8版本 菜鸟使用途中遇到很多困难,在网上不停的找解答方法,整理出来可供使用,有好的建议就更好了. 我的目标: Ueditor编辑器嵌入到自己原来的项目中: 只能添加不能删除图片,无用资源占用空间极不合理,所以在多图上传->在线管理添加了删除图片的功能: 把编辑器编辑的内容存储到Oracle数据库 步骤 一.在JSP界面上添加Ueditor编辑器 下载官网:http://ueditor.baidu.com/website/download.

添加、编辑、删除功能测试点

添加功能 1.特殊键:(1)是否支持Tab键 (2)是否支持回车键 2.提示信息:(1)不符合要求的地方是否有错误提示 3.唯一性:(1)字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段 (字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性) 4.数据正确性: (1)对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查想关联的数据是否得到更新. (2)进行必填项检查(即是否给出提示以及提示后是否依然把数据存到数据库中:

Ueditor添加在线视频功能

概述: 百度Ueditor如果config.json中配置的文件管理中的'file'与'video'不是一个目录,那么就不能浏览已上传过的视频:根据文件管理的相关代码添加了浏览在线视频的功能. 1.修改config.json, 添加视频相关参数 "videoManagerActionName": "listvideo", "videoManagerListPath": "static/upload/video/", "

Git操作:远程仓库(git remote)的添加、管理和删除

这是你的git仓库,他已经添加了一个远程仓库,可以用git remote -v查看绑定的仓库列表,他会以<仓库名>  <仓库地址>的形式展示出来(一个仓库会显示两遍): $ git remote -v origin https://xxx.com/lyj00912/xxx.git (fetch) origin https://xxx.com/lyj00912/xxx.git (push) 如果要删除一个仓库,可以用git remote remove <仓库名>来删除这个

介绍一个免费的具备数据显示/录入/更新/删除功能的asp.net控件

我不能说它比datagrid更强, 因为datagrid有很多深层次的东西可以发掘,但是我能说它比datagrid更易用,更实用,因为它已经轻松实现如下功能,同时,它是完全免费的,不需要注册,没有任何的功能限制. 1. 通过属性设置数据表的显示 2. 客户端数据排序 3. 各种字段类型的格式化显示 4. 所有数据表轻松实现内置的数据添加.更新.删除功能 5. 提供密码字段的支持并使用32位MD5编码 6. 添加.更新图象字段.链接文件字段时自动上传文件 7. 上传图片时可以自动生成缩略图 8.

Jquery EasyUI的添加,修改,删除,查询等基本操作介绍

http://www.jb51.net/article/42016.htm 初识Jquery EasyUI看了一些博主用其开发出来的项目,页面很炫,感觉功能挺强大,效果也挺不错,最近一直想系统学习一套前台控件,于是在网上找了一些参考示例.写了一些基本的增删改查功能,算是对该控件的基本入门.后续有时间继续深入学习. 在学习jquery easyui前应该先到官网下载最新版本http://www.jeasyui.com/download/index.php 先看一下运行后的页面 1.列表展示 2.新