php用wangeditor3实现图片上传功能

在php中使用wangeditor3实现图片上传功能

1. 引入wangeditor3

首先我们需要在页面中引入wangeditor3,可以从官网下载最新版本。

```

```

2. 初始化编辑器

初始化编辑器很简单,只需要调用`new`方法即可。

```

// 初始化编辑器

var editor = new wangEditor('editor');

// 配置上传图片接口和参数

editor.config.uploadImgUrl = '/upload.php';

editor.config.uploadParams = {_token: '12345'};

// 创建编辑器

editor.create();

```

上面的代码中,我们通过`editor.config.uploadImgUrl`来设置上传图片的接口地址,同时也可以通过`editor.config.uploadParams`来设置上传接口的参数。

3. 编写上传图片的后台代码

我们需要编写一段代码来处理上传图片的请求。可以使用php来实现。

```

// 获取上传的文件信息

$file = $_FILES['file'];

// 判断是否上传成功

if ($file['error'] == 0) {

// 获取文件名和拓展名

$filename = $file['name'];

$ext = pathinfo($filename, PATHINFO_EXTENSION);

// 生成唯一的文件名

$name = md5(uniqid()) . '.' . $ext;

// 保存文件

move_uploaded_file($file['tmp_name'], './uploads/' . $name);

// 返回上传文件的路径

echo json_encode([

'errno' => 0,

'data' => [

'src' => '/uploads/' . $name

]

]);

} else {

// 输出错误信息

echo json_encode([

'errno' => $file['error']

]);

}

```

上面的代码中,我们首先判断文件是否上传成功,如果上传成功,我们获取文件名和拓展名,然后生成唯一的文件名,最后将文件保存到指定目录中,并返回上传文件的路径。如果上传失败,我们则输出错误信息。

4. 配置wangeditor3上传图片的内容类型

默认情况下,wangeditor3上传文件时,会根据文件扩展名判断文件内容类型,如果类型不符合要求,则会上传失败。但是有些情况下,如果文件的扩展名没有办法准确的反映其内容类型,这时我们就需要手动指定上传文件的内容类型了。

```

editor.config.uploadImgAccept = ['image/jpg', 'image/jpeg', 'image/png'];

```

上面代码中,我们通过`editor.config.uploadImgAccept`来设置wangeditor3上传图片支持的内容类型。如果上传的文件类型不在上面的内容类型之内,将会被拒绝。

5. 结束语

到这里,我们已经完成了在php中使用wangeditor3实现图片上传功能的工作。上面的代码仅供参考,可能还有一些不足之处,可以根据自己的实际情况进行修改和完善。

后端开发标签