tinkerbell's avatar

I want to delete the stored file while updating it?

My file uploaded perfectly but the problem is the old will remain in the storage folder, how to delete it while updating my file?

storage path is like that

/storage/uploads/php pdo.pdf

my controller

  public function storeFile(Request $request , $id) {

        $request->validate([
            'acc_status'            => 'required',
           'acc_document'          => 'required|mimes:doc,docx,pdf,txt,zip|max:2000',
        ],[
                    'acc_document.required' => 'Please upload a file',
                    'acc_document.mimes' => 'Only doc,docx,pdf,txt and zip are allowed',
                    'acc_document.max' => 'Sorry! Maximum allowed size for an image is 5MB',
        ]);
            $requisition = Requisition::find($id);
            $requisition->acc_status =  $request->get('acc_status');

             if($request->hasFile('acc_document')){
            $FileName =  $request->file('acc_document')->getClientOriginalName();
            $path = $request->file('acc_document')->storeAs('uploads', $FileName , 'public');
            $requisition->acc_document = '/storage/' . $path; }
            $requisition->save();
            //$requisition->update($request->all());

        return redirect()->route('requisition.index')
            ->with('success', 'Account document has been uploaded successfully.');
     }

0 likes
1 reply
tinkerbell's avatar
tinkerbell
OP
Best Answer
Level 1

I updated the "if" part and now it's working

 if($request->hasFile('acc_document'))
     {

            $requisitionFile = public_path("/{$requisition->acc_document}"); // get previous file from folder
             if (Requisition::exists($requisitionFile)) { // unlink or remove previous file from folder
            unlink($requisitionFile);
                                             }
            $FileName =  $request->file('acc_document')->getClientOriginalName();
            $path = $request->file('acc_document')->storeAs('uploads', $FileName , 'public');
            $requisition->acc_document = '/storage/' . $path;
       }


Please or to participate in this conversation.