ホームページ >バックエンド開発 >PHPチュートリアル >PHP版ではUEditorのオンライン画像管理欄に画像削除機能を追加

PHP版ではUEditorのオンライン画像管理欄に画像削除機能を追加

WBOY
WBOYオリジナル
2016-06-13 12:01:001077ブラウズ

php バージョンでは、UEditor のオンライン画像管理列に画像削除機能を追加します

1. udior/dialogs/image/image.js ファイルを見つけて、コードの変更部分を追加します:

/** * 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].className = "";    }    obj.className = "focus";    //body显隐    var tabSrc = obj.getAttribute("tabSrc");    for (var j = 0,    length = tabBodys.length; j < length; j++) {        var body = tabBodys[j],        id = body.getAttribute("id");        body.onclick = function() {            this.style.zoom = 1;        };        if (id != tabSrc) {            body.style.zIndex = 1;        } else {            body.style.zIndex = 200;            //当切换到本地图片上传时,隐藏遮罩用的iframe            if (id == "local") {                toggleFlash(true);                maskIframe.style.display = "none";                //处理确定按钮的状态                if (selectedImageCount) {                    dialog.buttons[0].setDisabled(true);                }            } else {                toggleFlash(false);                maskIframe.style.display = "";                dialog.buttons[0].setDisabled(false);            }            var list = g("imageList");            list.style.display = "none";            //切换到图片管理时,ajax请求后台图片列表            if (id == "imgManager") {                list.style.display = "";                //已经初始化过时不再重复提交请求                if (!list.children.length) {                    ajax.request(editor.options.imageManagerUrl, {                        timeout: 100000,                        action: "get",                        onsuccess: function(xhr) {                            //去除空格                            var tmp = utils.trim(xhr.responseText),                            imageUrls = !tmp ? [] : tmp.split("ue_separate_ue"),                            length = imageUrls.length;                            g("imageList").innerHTML = !length ? "  " + lang.noUploadImage: "";                            for (var k = 0,ci; ci = imageUrls[k++];) {                                //Add Start===============================                                 var div = document.createElement("div");                                var img = document.createElement("img");                                var del = document.createElement("img");                                var p = document.createElement("p");                                div.appendChild(img);                                div.appendChild(p);                                p.appendChild(del);                                div.style.display = "none";                                img.style.height = "100px";                                img.style.width = "100px";                                del.setAttribute("src", "images/del.png");                                p.style.marginTop = "-104px";                                p.style.marginLeft = "90px";                                g("imageList").appendChild(div);                                img.onclick = function() {                                    changeSelected(this);                                };                                del.onclick = function() {                                    var me = this,                                    src = me.getAttribute("alt", 2);                                    var pic = me.parentNode.parentNode.childNodes[0];                                    if (!confirm("删除操作不可恢复,您确认要删除本图片么?")) return;                                    ajax.request(editor.options.imageManagerUrl, {                                        action: "del",                                        fileName: src.substr(src.lastIndexOf("/") + 1),                                        onsuccess: function(xhr) {                                            me.parentNode.parentNode.removeChild(pic);                                            me.parentNode.removeChild(me);                                        },                                        onerror: function(xhr) {                                            alert("服务器删除图片失败,请重试!");                                        }                                    });                                };                                //Add End================================ 									                                img.onload = function() {                                    this.parentNode.style.display = "";                                    var w = this.width,                                    h = this.height;                                    scale(this, 100, 120, 80);                                    this.title = lang.toggleSelect + w + "X" + h;                                    this.onload = null;                                };                                img.setAttribute(k < 35 ? "src": "lazy_src", editor.options.imageManagerPath + ci.replace(/\s+|\s+/ig, ""));                                img.setAttribute("title", editor.options.imageManagerPath + ci.replace(/\s+|\s+/ig, ""));                                img.setAttribute("width", "100px");                                img.setAttribute("height", "100px");                                del.onload = function() { //设置加载del图片时的样式                                    this.style = "border:0";                                    this.onload = null;                                };                                del.setAttribute("alt", editor.options.imageManagerPath + ci.replace(/\s+|\s+/ig, ""));                            }                        },                        onerror: function() {                            g("imageList").innerHTML = lang.imageLoadError;                        }                    });                }            }            if (id == "imgSearch") {                selectTxt(g("imgSearchTxt"));            }            if (id == "remote") {                $focus(g("url"));            }        }    }}

uedior/php/imageManager.php ファイルを見つけて、次の内容を追加します:

if ($action == "del") {    $fileName = $_POST['fileName'];    foreach($paths as $path) {        $str1 = delfiles($fileName, $path);        break;    }}function delfiles($fileName, $path, &$files = array()) {    if (!is_dir($path)) return null;    $handle = opendir($path);    while (false !== ($file = readdir($handle))) {        if ($file != '.' && $file != '..') {            $path2 = $path.'/'.$file;            if (is_dir($path2)) {                delfiles($fileName, $path2, $files);            } else {                if (preg_match("/\.(gif|jpeg|jpg|png|bmp)$/i", $file)) {                    $path3 = str_replace('../../', '/static/', $path2);                    $fileImg = basename($path3);                    if ($fileImg == $fileName) {                        $is_del = unlink($path2);                    }                }            }        }    }}





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。