PHP利用CKEditor上传图片

来源:互联网 发布:直播回看软件 编辑:程序博客网 时间:2024/05/01 20:42

根据我转载的那篇关于CKEditor上传图片的文章,试了一下。现将过程记录如下。

首先,得先下载CKEditor,下载的地址:http://ckeditor.com/。我下载的是standard版。


1.去掉预览中的文字

在ckeditor/plugins/image/dialogs/image.js

搜索“b.config.image_previewText”,把(b.config.image_previewText||'')单引号中的内容全删了。


2.开启上传功能

还是image.js这个文件,搜索“upload”可以找到这一段

id:'Upload',hidden:true

实际上上传功能被隐藏了,把上面的true改成false。


3.定义上传图片时的action

在ckeditor/config.js中加入:

config.filebrowserUploadUrl = '/back/upload';


4.在BackAction中加入upload方法(我用的是ThinkPHP3.0);

//upload image from ckeditor    public function upload(){        $extensions = array("jpg","bmp","gif","png");        $uploadFilename = $_FILES['upload']['name'];        $extension = pathInfo($uploadFilename,PATHINFO_EXTENSION);        if(in_array($extension,$extensions)){            $uploadPath = str_replace("\\",'/',realpath(__ROOT__))."/uploads/";            $uuid = str_replace('.','',uniqid("",TRUE)).".".$extension;            $desname = $uploadPath.$uuid;            $previewname = '/uploads/'.$uuid;            $tag = move_uploaded_file($_FILES['upload']['tmp_name'],$desname);            $callback = $_REQUEST["CKEditorFuncNum"];            echo "<script type='text/javascript'>window.parent.CKEDITOR.tools.callFunction($callback,'".$previewname."','');</script>";        }else{            echo "<font color=\"red\"size=\"2\">*文件格式不正确(必须为.jpg/.gif/.bmp/.png文件)</font>";        }    }



2 0