我的控制器中有一个上传功能,可以上传多个文件。到目前为止,它将文件上传到目录,但我想将每个文件捕获到array
。
我将如何做到这一点?
这是代码
$files = Request::file('document');
foreach($files as $file) {
$rules = array(
'file' => 'required|mimes:png,gif,jpeg,txt,pdf,doc,docx,rtf|max:20000'
);
$validator = \Validator::make(array('file'=> $file), $rules);
if($validator->passes()){
$destinationPath = '/public/uploads/';
$mime_type = $file->getMimeType();
$extension = $file->getClientOriginalExtension();
$filename = str_random(12) . '.' . $extension;
$upload_success = $file->move($destinationPath, $filename);
} else {
return Redirect::back()->with('error', 'We only accept png,gif,jpeg,txt,pdf,doc,rtf.'); // add error here.
}
}
当验证器通过时,它会处理每一个但是当我添加一个像$path = $upload_success;
这样的变量时,显然只需处理最后一个变量。如何捕获处理到$path
的所有文件路径的数组?
答案 0 :(得分:1)
在foreach
之前,创建一个数组$paths = [];
创建$upload_success
var后,将其添加到数组中。 $paths[] = $upload_success;
现在$paths
将是您所有路径的数组。