在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实现图片上传功能的工作。上面的代码仅供参考,可能还有一些不足之处,可以根据自己的实际情况进行修改和完善。