thinkphp5 图片上传
时间: 2024-09-26 13:14:36 浏览: 48
ThinkPHP 5 中图片上传通常涉及到文件处理库和前端表单提交操作。以下是一个简单的步骤概述:
1. **设置文件上传配置**:在 `application/config.php` 文件中,设置上传相关的配置项,如上传目录、允许的文件类型、大小等。
```php
'app.upload_path' => './uploads/', // 上传文件保存路径
'app.upload_max_size' => 5 * 1024 * 1024, // 最大上传文件大小 (5MB)
'app.upload_allow_types' => ['jpg', 'jpeg', 'png', 'gif'], // 允许的文件类型
```
2. **创建模型方法**:在对应的控制器模型 (`model` 目录) 创建一个用于处理上传的方法,比如 `uploadImage`,它会负责接收文件并将其存储到服务器。
```php
public function uploadImage($file){
$info = \think\facade\Upload::instance() // 使用 Upload facade
->validateOne($file, [
'size' => 1024*1024*5, // 限制最大上传文件大小
'type' => ['jpg', 'jpeg', 'png', 'gif'],
'ext' => ['jpg', 'jpeg', 'png', 'gif'],
'auto_name' => false, // 自动命名不启用
])->save();
if ($info) {
return $info['url']; // 返回上传后的文件URL
} else {
return $info; // 返回错误信息
}
}
```
3. **前端表单提交**:在HTML模板中,创建一个表单让用户选择图片,并通过POST请求将选中的图片发送给上述方法。
```html
<form action="{:url('YourController/uploadImage')}" method="post" enctype="multipart/form-data">
<input type="file" name="file" accept=".jpg, .jpeg, .png, .gif">
<button type="submit">上传</button>
</form>
```
阅读全文