public function uploadImage(Request $request) { // file was uploaded successfully if ($request->hasFile('photo') && $request->file('photo')->isValid()) { // get file object $file = $request->file('photo'); // separate extension and name $temp = explode('.', $file->getClientOriginalName()); $ext = array_pop($temp); $name = implode('.', $temp); // slugify the name and lowercase the ext $fileName = Self::slugify($name) . '.' . strtolower($ext); $destinationPath = public_path('images/uploaded/'); if (file_exists($destinationPath . DIRECTORY_SEPARATOR . $fileName)) { $fileName = Self::slugify($name) . '-' . Self::generateRandomString(5) . '.' . strtolower($ext); } // move to correct folder $file->move($destinationPath, $fileName); $i = new File(); $i->title = $request->input('title'); $i->file = $fileName; $i->save(); } return redirect('/dashboard/images'); }