Open sidebar
<?php namespace App\Http\Controllers; use App\File; use App\Http\Requests\SaveFilePostRequest; use Illuminate\Contracts\Hashing\Hasher; use Illuminate\Support\Facades\Response; class HomeController extends Controller { protected $hash; public function __construct( Hasher $hash) { $this->hash = $hash; } public function index(){ return view('home'); } public function saveFile(SaveFilePostRequest $request){ $uploadsDir = $_SERVER['DOCUMENT_ROOT'] . '/public/uploads/'; if(!file_exists($uploadsDir . date('Y'))){ mkdir($uploadsDir . date('Y')); } if(!file_exists($uploadsDir . date('Y') . '/' . date('m'))){ mkdir($uploadsDir . date('Y') . '/' . date('m')); } $file = $request->file('file'); $hashName = $this->hash->make($file->getClientOriginalName()); $file->move($uploadsDir . date('Y') . '/' . date('m') . '/', $hashName); $file = File::create([ 'name' => $file->getClientOriginalName(), 'size' => $file->getClientSize(), 'path' => $uploadsDir . date('Y') . '/' . date('m') . '/' . $hashName]); return redirect('file/' . strval($file->id)); } public function file($id){ $file = File::find($id); return view('file', ['file' => $file]); } public function download($id){ $file = File::find($id); return Response::download($file->path, $file->name); }
Close sidebar
Back
Please note that all pasted data is publicly available.
Twitter
GitHub
Use setting
Back
Please note that all pasted data is publicly available.
Twitter
GitHub
Use setting