コード例 #1
0
 function uploadEdit(UserUpload $upload, Request $request)
 {
     $upload->status = $request->get('status');
     $upload->save();
     event(new FileChanged($upload));
     return;
 }
コード例 #2
0
 function upload(UploadRequest $request)
 {
     $user = Auth::user();
     // If this user already has at least 3 pending uploads, tell them to wait
     if ($user->uploads->where('status', 'pending')->count() >= 3) {
         $request->session()->flash('error', "You've already uploaded 3 files. Please wait for an admin to review them before uploading more.");
         return redirect('/profile');
     }
     // Create upload folder if it doesn't exist
     if (!file_exists(public_path() . '/files/user')) {
         mkdir(public_path() . '/files/user', 0755, true);
     }
     // Make sure the original filename is sanitized
     $file = pathinfo($request->file('file')->getClientOriginalName());
     $fileName = preg_replace('/[^a-z0-9-_]/', '', $file['filename']) . "." . preg_replace('/[^a-z0-9-_]/', '', $file['extension']);
     // Move file to uploads directory
     $fileName = time() . '-' . $fileName;
     $request->file('file')->move(public_path() . '/files/user', $fileName);
     // Create a new user upload
     $upload = new UserUpload();
     $upload->file = $fileName;
     $upload->status = 'pending';
     $upload->user_id = $User->id;
     $upload->save();
     // Save additional form data
     $input = $request->all();
     $upload->update($input);
     event(new FileUploaded($upload));
     $request->session()->flash('success', 'Your file was uploaded.');
     return redirect('/profile');
 }