我希望能够上传多个(动态)文件(pdf)。
所以我有以下布局:
如您所见,该表单有4个用于文件的输入字段,但它也有2个文本字段,并且对于每个文件上载行,都有一个复选框。 “流”如下:
文件是PDF文件(每个类1个)。我在PHP中尝试了以下代码来上传文件,但是一次只能上传一个文件,有时一次只能上传2个文件,具体取决于文件的大小。
public function postGapersritAddResults(Request $request): RedirectResponse
{
// Handle upload
$path = 'documents/gapersrit/'.$request->get('year').'/results';
foreach (['initiatie', 'recreatie', 'toerisme', 'sport'] as $item) {
if ($request->hasFile('file_'.$item)) {
$request->file('file_'.$item)->storeAs($path, $item.'.'.$request->file('file_'.$item)->getClientOriginalExtension(), 'webdav');
}
}
// Handle database
$result = new SiteGapersritResults();
$result->title = $request->get('title');
$result->year = $request->get('year');
$result->initiatie = filter_var($request->get('active_initiatie'), FILTER_VALIDATE_BOOLEAN);
$result->recreatie = filter_var($request->get('active_recreatie'), FILTER_VALIDATE_BOOLEAN);
$result->toerisme = filter_var($request->get('active_toerisme'), FILTER_VALIDATE_BOOLEAN);
$result->sport = filter_var($request->get('active_sport'), FILTER_VALIDATE_BOOLEAN);
$result->save();
toastr()->success('Saved the results for year '.$result->year.'.', 'Success', ['timeOut' => 5000]);
return redirect()->to('admin/gapersrit/results');
}
如果有人对我该怎么做有更好的主意,请帮助我。 理想情况下,我想选择所有文件并能够一个接一个地上传它们(就像在我的代码中一样),但是由于某些原因,这是行不通的,并且在大多数情况下会引发太大的错误,但是,我猜我一次要上传一个文件吗?
修改 在php.ini和我的Nginx配置中,上传大小的上限为100M。
编辑2 我在当前代码中收到以下错误:
curl_exec(): CURLOPT_INFILE resource has gone away, resetting to default
答案 0 :(得分:0)
这可能是因为上传大小受到服务器php.ini
配置的限制。
如果您有权访问文件或php设置,请尝试更改以下值:
upload_max_filesize = 20M
post_max_size = 20M
答案 1 :(得分:0)
如您所说,错误为borecast-production
您发布的代码段不包含与git config --global fetch.prune true
相关的任何内容,问题是curl_exec(): CURLOPT_INFILE resource has gone away, resetting to default
函数中的“ webdav”磁盘。
看看踪迹,似乎curl
包中有问题
https://github.com/thephpleague/flysystem-webdav/issues/49或
https://github.com/thephpleague/flysystem-webdav/issues/50