Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel文件上载(多个)_Php_Laravel_File Upload - Fatal编程技术网

Php Laravel文件上载(多个)

Php Laravel文件上载(多个),php,laravel,file-upload,Php,Laravel,File Upload,我有一个小应用程序,我可以一个接一个(不是一次)上传多个文件,但由于某种原因,每次我上传一个文件,另一个就消失了 如下面的屏幕截图所示: 如果我'dd($request->all());,只列出一个文件 这是我的控制器: public function profileUpdate(Request $request, User $user) { $this->validate($request, [ 'name' => 'required',

我有一个小应用程序,我可以一个接一个(不是一次)上传多个文件,但由于某种原因,每次我上传一个文件,另一个就消失了

如下面的屏幕截图所示:

如果我'dd($request->all());,只列出一个文件

这是我的控制器:

 public function profileUpdate(Request $request, User $user)
{

    $this->validate($request, [
        'name' => 'required',
        'firstname' => 'required',
        'email' => 'required',
        'address' => 'nullable|string',
        'city' => 'nullable|string',
        'postal' => 'nullable|string',
        'phone' => 'nullable|string',
        'cni' => 'nullable|file',
        'vitale' => 'nullable|file',
    ]);


    $user = Auth::user();

    $user->name = $request->name;
    $user->firstname = $request->firstname;
    $user->email = $request->email;
    $user->address = $request->address;
    $user->city = $request->city;
    $user->postal = $request->postal;
    $user->phone = $request->phone;
    $user->vitale = $request->vitale;
    $user->cni = $request->cni;

    $image = $request->file('image');


    if ($request->hasFile('image')) {
        $fileName = $image->getClientOriginalName();
        $fileExtension = $image->getClientOriginalExtension();
        $image->move('users-photos', $fileName);
        $user->image = 'users-photos/' . $fileName;

    }
    // unlink('users-photos/' . $fileName);

    $cni = $request->file('cni');

    if ($request->hasFile('cni')) {
        $fileName = $cni->getClientOriginalName();
        $fileExtension = $cni->getClientOriginalExtension();
        $cni->move('users-cni', $fileName);
        $user->cni = 'users-cni/' . $fileName;
    }

    $vitale = $request->file('vitale');

    if ($request->hasFile('vitale')) {
        $fileName = $vitale->getClientOriginalName();
        $fileExtension = $vitale->getClientOriginalExtension();
        $vitale->move('users-vitales', $fileName);
        $user->vitale = 'users-vitales/' . $fileName;
    }


    if ($request['password'] != "") {
        if (!(Hash::check($request['password'], Auth::user()->password))) {
            return redirect()->back()->with('error', "Le mot de passe entré n'est pas valide ");
        }

        if (strcmp($request['password'], $request['new_password']) == 0) {
            return redirect()->back()->with('error', "Le nouveau mot de passe doit être différent de l'ancien");
        }

        $validation = $request->validate([
            'password' => 'required',
            'new_password' => 'required|string|min:8|confirmed'
        ]);

        $user->password = Hash::make($request['new_password']);

    }

    $user->save();

    return redirect()->back()->with('success','Profil mis à jour');
}
}

我的刀片文件中的表格(故意减少):


@csrf
文件
CNI
cni)}“alt=”“width=“100%”
文件输入
社保卡
vitale)}“alt=”“width=“100%”
文件输入
梅特雷日
谢谢大家!


和平

似乎您有多个名称属性。然后将
name=“cni”
更改为
name=“cni[]”
同样适用于vitalthank you@sta,我现在得到这个错误
调用数组上的成员函数getClientOriginalName()
感谢您的帮助!在您的请求中,哪个
文件消失了
?如果我上传了1个(不管是哪个),另一个文件消失了。如果你看屏幕截图,你会发现我先上传了Vitale,当我上传Cni时,Vitale不见了。我错过了一些东西,很奇怪!
<form action="{{ route('teacher.teacher.profileUpdate', $user) }}" method="POST" enctype="multipart/form-data">
@csrf
<div class="tab-pane" id="docs" role="tabpanel">
    <h4 class="font-w400 mb-5 mt-3">Documents</h4>
    <div class="row">
        <div class="col-md-4">
            <div class="block">
                <div class="block-header">
                    <h3 class="block-title">CNI</h3>
                    <div class="block-options">
                        <a href="{{ asset(Auth::user()->cni) }}" type="button" class="btn btn-sm btn-primary"
                            download="nom_de_fichier"> <i class="fas fa-download"></i> Télécharger</a>
                    </div>
                </div>
                <div class="block-content">
                    <img class="" src="{{ asset(Auth::user()->cni) }}" alt="" width="100%">
                    <div class="form-group">
                        <label class="d-block" for="cni">File Input</label>
                        <input type="file" id="cni" name="cni">
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-4">
            <div class="block">
                <div class="block-header">
                    <h3 class="block-title">Carte Vitale</h3>
                    <div class="block-options">
                        <a href="{{ asset(Auth::user()->vitale) }}" type="button" class="btn btn-sm btn-primary"
                            download="nom_de_fichier">
                            <i class="fas fa-download"></i> Télécharger
                        </a>
                    </div>
                </div>
                <div class="block-content">
                    <img class="" src="{{ asset(Auth::user()->vitale) }}" alt="" width="100%">
                    <div class="form-group">
                        <label class="d-block" for="vitale">File Input</label>
                        <input type="file" id="vitale" name="vitale">
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<div class="form-group text-right">
    <button type="submit" class="btn btn-alt-danger">
        <i class="fas fa-save mr-1"></i> Mettre à jour
    </button>
</div>