将每个文件路径返回到数组?

时间:2015-05-11 16:52:43

标签: php arrays laravel

我的控制器中有一个上传功能,可以上传多个文件。到目前为止,它将文件上传到目录,但我想将每个文件捕获到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的所有文件路径的数组?

1 个答案:

答案 0 :(得分:1)

foreach之前,创建一个数组$paths = [];

创建$upload_success var后,将其添加到数组中。 $paths[] = $upload_success;

现在$paths将是您所有路径的数组。