Php 如何使用输入文件的数组名请求文件?

Php 如何使用输入文件的数组名请求文件?,php,html,laravel,Php,Html,Laravel,只是想知道为什么我不能从输入类型文件中获取数组名的值 HTML: <input type="file" name="collateral_photo[]" id="collateral_photo" class="default"/> 返回结果为[{}] 我现在想要的只是如何从这个具有数组名的输入文件中获取值 请,请帮帮我 非常感谢您的帮助。使用下面的代码,因为name属性是一个数组 $files = Request::file('collateral_photo'); retur

只是想知道为什么我不能从输入类型文件中获取数组名的值

HTML:

<input type="file" name="collateral_photo[]" id="collateral_photo" class="default"/>
返回结果为[{}]

我现在想要的只是如何从这个具有数组名的输入文件中获取值

请,请帮帮我


非常感谢您的帮助。

使用下面的代码,因为name属性是一个数组

$files = Request::file('collateral_photo');
return $files[0];
或者如果你想要第二个文件

return $files[1];

//if you want to access second file and so on
您需要访问指定了数组索引的文件

如果要返回整个文件数组本身,请使用

return $files

更进一步,我们可以使用多层阵列,如下所示:

<input name="channel[1][file]" type="file">
<input name="channel[2][file]" type="file">

如果是文件数组,请执行以下操作:

$request()->file($fieldName)[$key]->getClientOriginalName();

@Sourabh…如果我使用这个,返回结果将一无所获(var_dump()的结果是什么?通常,如果我使用return$files[0]这样的指定偏移量返回,它会显示值。但是如果我尝试使用return$files,它会给出这个[{}]。我看不出返回[{}]的任何原因,您可以将问题中的代码发布到您访问它的位置吗?可能是您访问它的方式不对…我现在解决了它。我使用带有指定偏移量的return循环该值。非常感谢。:)您可能忘记添加
enctype=“multipart/form data”
到您的表单中。我已经输入了此类型。请不要使用id,而是使用名称。这对我来说很好!结合此检查功能$request->hasFile(“channel.1.file”)
$files = $request->file('channel');
$file1 = $files[1]['file'];
$file2 = $files[2]['file'];
$request()->file($fieldName)[$key]->getClientOriginalName();