MAZ*_*UMA 2 file-upload input laravel
我正在使用一个带有多个文件输入的表单的Laravel项目。如果我提交的表单的第一个输入为空,而所有其他输入都带有文件,则hasFile返回false。仅当第一个输入包含文件时,它才会返回true。
if(Input::hasfile('file'))
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
这是通过Input :: file('file)的输入数组。小图像输入为空,大图像输入为空。我希望它查看整个数组,如果存在任何文件,则继续执行“执行某些操作”。
Array
(
[small] =>
[large] => Symfony\Component\HttpFoundation\File\UploadedFile Object
(
[test:Symfony\Component\HttpFoundation\File\UploadedFile:private] =>
[originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image_name.jpg
[mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
[size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 44333
[error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
[pathName:SplFileInfo:private] => /Applications/MAMP/tmp/php/phpHILgX2
[fileName:SplFileInfo:private] => phpHILgX2
)
)
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?还是应该查看整个阵列?
摘自:
/**
* Determine if the uploaded data contains a file.
*
* @param string $key
* @return bool
*/
public function hasFile($key)
{
if (is_array($file = $this->file($key))) $file = head($file);
return $file instanceof \SplFileInfo;
}
Run Code Online (Sandbox Code Playgroud)
似乎它只检查数组中的第一个,head
返回数组中的第一个项目。
您可以使用数组键进行检查,例如如下所示:HTML输入类型File Element:
<input type="file" name="your_file_name[]" />
Run Code Online (Sandbox Code Playgroud)
Laravel 5: $request->hasFile('your_file_name.'.$key)
Laravel 4.2: Input::hasFile('your_file_name.'.$key)
归档时间: |
|
查看次数: |
16265 次 |
最近记录: |