gpt4 book ai didi

php - Laravel 5 上传多张图片验证

转载 作者:搜寻专家 更新时间:2023-10-31 21:29:55 34 4
gpt4 key购买 nike

我想一次上传多张图片。文件正在上传,但即使它们不是有效的图像,它们也通过了验证。我想上传所有有效文件并返回一条消息,其中包含未成功上传的文件数量。

我的功能:

public function addImages($id, Request$request)
{
$files = Input::file('images');
$uploaded = 0;
$failed = 0;
foreach ($files as $file) {

// Validate each file
$rules = array('file' => 'required|image');
$validator = Validator::make(array('file'=> $file), $rules);

if($validator->passes()) {
$destinationPath = 'uploads';
$filename = $file->getClientOriginalName();
$upload_success = $file->move($destinationPath, $filename);
if($upload_success){
$uploaded ++;
}
else {
$failed ++;
}
} else {
$failed ++;
}
}
\Session::flash('success_message',$uploaded.' files uploaded.');
if($failed > 0){
\Session::flash('errors','Some files werent valid.');
}
return redirect('admin/myroute/'.$id);
}

出于某种原因,如果我上传没有任何扩展名的文件,它们仍然会被上传。我做错了什么?

最佳答案

你不应该在 Controller 中验证它,你应该使用它的每个方法,例如在你的请求文件中。

protected function getValidatorInstance()
{
$validator = parent::getValidatorInstance();


$validator->each('files', ['image']);

return $validator;
}

这只是检查所有文件。

更多信息,

Laravel API about validation

关于php - Laravel 5 上传多张图片验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31094338/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com