php - 如何将多个文件上传到一个 CELL 中?
问题描述
我尝试将多个文件上传到我的数据库中,但我只得到一个文件,我使用 laravel 5.5,所有文件都显示在我的文件目录路径中,但只将一个文件存储到我的数据库中。这是我的代码我的看法
<label for="image">{{ __(' image') }}</label>
<input type="file" name="image[]" class="form-control" value="{{ $employee['image'] }}" multiple>
我的路线
Route::post('/people/employees/test/{id}', 'EmplController@test');
我的控制器
if($request->hasfile('image')){
foreach ($request->image as $image) {
$path = $image->getClientOriginalName();
$filename = time() . '-' . $path;
$image->storeAs('employees', $employee->id . '/' . $filename);
$image->move(public_path('employees'),$filename);
i inserted image here->$employee->image = $filename;
$employee->save();
}
}
解决方案
制作一个数组,并在插入表之前将其内爆,例如:
$files = []; // an empty array
foreach($a as $b) {
$files[] = $b->name; // insert name to array
}
$files = implode(",", $files); // insert $files into your table
所以你需要改变你的代码:
if($request->hasfile('image')){
$files = []; // make an array
foreach ($request->image as $image) {
$path = $image->getClientOriginalName();
$filename = time() . '-' . $path;
$files[] = $filename; // insert to array
$image->storeAs('employees', $employee->id . '/' . $filename);
$image->move(public_path('employees'), $filename);
}
$files = implode(",", $files); // insert $files into your table
}
推荐阅读
- alpine.js - 使用 AlpineJS 单击按钮时更改字段值
- java - 如何使用 Java 将用户输入保存到文本文件中?
- php - 如何将新的键值插入现有的 JSON-PHP
- python - 我可以使用哪些算法在 Python 中的高维离散空间中进行优化?
- python - 使用任意数量的变量计算相关矩阵的 Python 函数
- postgresql - 在动态 linq 查询中使用 postgresql unaccent 函数
- django - 图像没有通过模型表单上传到 django,而是从管理面板添加
- excel - 将单元格颜色从 SheetA 复制到具有相同单元格值的 SheetB
- reactjs - PWA 突然停止安装 - 我应该改进缓存处理吗?如何?
- android - 自定义 android datepicker 库的 UI 测试