为了账号安全,请及时绑定邮箱和手机立即绑定

文件输入多文件选择不起作用

文件输入多文件选择不起作用

PHP
呼唤远方 2023-08-19 16:11:58
当我死/转储 $files 时,当我期望看到所有选定的文件时,我只能看到请求中的一个文件。当我在 foreach 循环中死亡/转储 $name 时,什么也没有发生。我需要查看请求中所有选定的图像。刀片创建<form action="/p" enctype="multipart/form-data" method="post" files = "true"> @csrf<label for="image" class="col-md-4 col-form-label text-md-right">{{ __(' post image') }}</label>                        <input type="file", class="form-control-file" id ="image" multiple = "multiple" name="image">                        @error('image')                                <div class="invalid-feedback" role="alert">                                    <strong>{{ $message }}</strong> </div>                                                            @enderror </form>后置控制器 public function store( Request $request ){` $request->request->add(['user_id' => $user],  ); // Here a request is given a varible either for the admin or user    $data = request()->validate([        'user_id' => 'required',        'about' => 'required',        'category' => '',        'expire_date' => '',            ]); `if (Auth::guard('web')->check())     {       $user = Auth::user();       $post = new Post();       /*$post = $user->posts()->create([            'about' => $data['about'],            'category' => $data['category'],            'expire_date' => $data['expire_date'],                    ]);*/        if($request->hasFile('image'))        {          $files = $request->file('image');                              foreach($files as $file)          {                        $name = time().'-'.$file->getClientOriginalName();            $name = str_replace('','-',$name);                        $file->move('images',$name);                        //$post->images->create(['image' => $name ]);          }        } `        $user = Auth::guard('web')->id() ;       // return redirect()->route('home',['user'=>$user]);            }  }
查看完整描述

2 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

对于多个输入,在 html 中,您需要将其作为name 属性的数组传递。更改name="image"name=image[],即:

<input type="text" name="image[]" />

这样 php 将收到一个图像数组。


查看完整回答
反对 回复 2023-08-19
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

模型上的 $casts 属性提供了一种将属性转换为常见数据类型的便捷方法。$casts 属性应该是一个数组,其中键是要转换的属性的名称,值是您希望将列转换为的类型。


namespace App;

use Illuminate\Database\Eloquent\Model;


class Post extends Model

{

     protected $casts = [

         'image'  =>  'array',

     ];

 }


查看完整回答
反对 回复 2023-08-19
  • 2 回答
  • 0 关注
  • 99 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信