tp5框架中kindeditor富文本编辑器批量上传图片
时间: 2023-11-09 10:49:10 浏览: 234
ASP.NET网站使用Kindeditor富文本编辑器配置步骤
1. 首先,在 `application\extra` 目录下新建一个 `config.php` 文件,添加以下配置:
```php
<?php
return [
'upload_path' => '/uploads/', //上传文件保存的路径
'upload_exts' => 'gif,jpg,jpeg,png,bmp', //允许上传的文件类型
];
```
2. 在 `application\index\controller` 目录下新建一个 `Upload.php` 控制器,添加以下代码:
```php
<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
class Upload extends Controller
{
public function uploadImage()
{
$file = request()->file('imgFile');
$info = $file->validate(['ext' => config('upload_exts')])->move(ROOT_PATH . 'public' . config('upload_path'));
if ($info) {
$image_url = config('upload_path') . $info->getSaveName();
return json(['error' => 0, 'url' => $image_url]);
} else {
return json(['error' => 1, 'message' => $file->getError()]);
}
}
}
```
3. 在 `application\index\view` 目录下新建一个 `upload_image.html` 文件,添加以下代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>上传图片</title>
</head>
<body>
<form action="<?php echo url('upload/uploadImage'); ?>" enctype="multipart/form-data" method="post">
<input type="file" name="imgFile">
<input type="submit" value="上传">
</form>
</body>
</html>
```
4. 修改 `kindeditor` 配置文件 `public\static\kindeditor\config.js`,添加以下代码:
```javascript
//上传图片配置
imageUploadJson = '<?php echo url("upload/uploadImage"); ?>';
```
5. 在 `public\static\kindeditor\plugins` 目录下新建一个 `image.php` 文件,添加以下代码:
```php
<?php
//获取上传文件保存的路径
$save_path = $_SERVER['DOCUMENT_ROOT'] . $_POST['save_path'];
//获取要上传的文件
$file = $_FILES['imgFile'];
//上传文件
if (move_uploaded_file($file['tmp_name'], $save_path . $file['name'])) {
$image_url = $_POST['base_url'] . $_POST['save_path'] . $file['name'];
//返回上传结果
echo json_encode(['error' => 0, 'url' => $image_url]);
} else {
echo json_encode(['error' => 1, 'message' => '上传失败']);
}
```
6. 修改 `kindeditor` 的 `php` 上传文件处理程序 `public\static\kindeditor\php\upload_json.php`,添加以下代码:
```php
//获取要保存的文件路径和文件名
$save_path = $_SERVER['DOCUMENT_ROOT'] . $_POST['save_path'];
$file_name = uniqid() . strrchr($_FILES['imgFile']['name'], '.');
//上传文件
if (move_uploaded_file($_FILES['imgFile']['tmp_name'], $save_path . $file_name)) {
$image_url = $_POST['base_url'] . $_POST['save_path'] . $file_name;
//返回上传结果
echo json_encode(['error' => 0, 'url' => $image_url]);
} else {
echo json_encode(['error' => 1, 'message' => '上传失败']);
}
```
7. 在浏览器中访问 `http://localhost/index/upload_image.html`,上传一张图片测试。如果上传成功,会返回图片的 URL 地址。在 `kindeditor` 中也可以正常上传图片了。
阅读全文