在Laravel中获取foreach循环中的所有文件

时间:2015-06-18 07:31:44

标签: php jquery laravel

我有一些由<input type="file">动态生成的jQuery。 这意味着每个name attribute的{​​{1}}也是动态生成的,是一个数字,每当新的input出现在DOM中时,它会递增1。

我需要像input这样的内容来获取foreach loop中的所有输入内容。 我试图上传1个文件,我已经将3 php留空,因为我的输入是连续的,我只想上传一个图像,而不是4.我循环通过这个inputs和{{ 1}}响应是这个

$all = Input::file(); L

我知道我的问题有点难以理解,但我找不到更好的方法来解释这个问题。

修改 这些是我的默认输入:

var_dump

当用户按下按钮时,jQuery会附加

NULL object(Symfony\Component\HttpFoundation\File\UploadedFile)#9 (7) { ["test":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> bool(false) ["originalName":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(10) "index.jpeg" ["mimeType":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> string(10) "image/jpeg" ["size":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(9408) ["error":"Symfony\Component\HttpFoundation\File\UploadedFile":private]=> int(0) ["pathName":"SplFileInfo":private]=> string(25) "/opt/lampp/temp/phpSVn3Tb" ["fileName":"SplFileInfo":private]=> string(9) "phpSVn3Tb" } NULL NUL

每次按下按钮

<div class="row">
<input type="file" name="1">
<input type="file" name="2">
<input type="file" name="3">
<input type="file" name="4">
</div

然后在<div class="row"> <input type="file" name="5"> <input type="file" name="6"> <input type="file" name="7"> <input type="file" name="8"> </div> 我需要获得所有具有值的输入。

我所做的是:

<div class="row">
<input type="file" name="9">
<input type="file" name="10">
<input type="file" name="11">
<input type="file" name="12">
</div

1 个答案:

答案 0 :(得分:3)

您需要为多个文件上传创建一个表单:

{!! Form::file('files[]', array('multiple'=>true)) !!}

所有文件都应该有一个特定的上传名称,如下所示:

class UploadController extends Controller {
   public function store() {

   $files = Input::file('files');

然后你可以使用你的控制器:

 foreach($files as $file) {
   ....

循环浏览所有文件

 NullReferenceException: Object reference not set to an instance of an object
 DetectButton.Start () (at Assets/Scripts/DetectButton.cs:14)