/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { $this->validate($request, ['title' => 'required|min:3', 'preface' => 'required|max:1000|min:10', 'file' => 'required|mimes:doc,docx,xls']); $title = $request->input('title'); $preface = $request->input('preface'); $fileName = preg_replace('/\\s+/', '', $request->file('file')->getClientOriginalName()); $mt_rand = mt_rand(); //create a mt_rand to prevent duplication $fileToInsert = $mt_rand . "_" . $fileName; //this is the file to insert into the table $data = ['title' => $title, 'file' => $fileToInsert, 'preface' => $preface]; $create = Materi::create($data); if ($create) { $destinationPath = public_path() . '/files'; $request->file('file')->move($destinationPath, $fileToInsert); return redirect('materi')->with('successMessage', "Berhasil menambahkan {$title}"); } else { return "ERROR"; } }