どんな記事? Laravel …
Laravel ファイルアップロード実装手順
どんな記事?
フォームを使ってファイルをアップロードする機能をLaravelで実装します。
例によって
php artisan serve
を行ってローカル環境で構築します。 サーバーが立ち上がったのでhttp://127.0.0.1:8000/ をルートとします。
今回のアップロード用フォームのURL
に構築することを前提で記事を書きます。
コントローラーの作成
まずはUploadControllerを作成します。
$ php artisan make:controller UploadController Controller created successfully.
コントローラが出来たら開きます。
今回はアップロードされたファイルを/uploadfile/内に格納する方法を取ります。 ファイル名はアップロードされた時点でのファイル名をそのまま活かします。
file('file')->getClientOriginalName(); $request->file('file')->storeAs('/uploadfile/' ,$file_name); } return view('index'); //ここに関しては遷移したいページを書いておく }
この様に書き換えてください。
getClientOriginalName();でアップロード時のファイル名をそのまま活かすことが出来ます。
Viewの作成
続いてフォーム部分を作っていきます。
/resources/views 内にindex.blade.php を作成します。(手動です)
これで充分です。 ファイルアップロードを扱うのでenctype="multipart/form-data"は必須です。
ルーティング
この表現であっているのかわかりませんがコントローラーとビューを繋げていきます。 /routes/web.phpを開きます。
//アップロードテスト Route::resource('/upload', 'UploadController');
のように追加してください。
http://127.0.0.1:8000/upload にアクセスしてテストしてみましょう。 動くはずですが駄目な場合はコメントください。
アップロードしたファイルにアクセス出来るようにする
php artisan storage:link
をしておけば
http://127.0.0.1:8000/storage/upload/xxxx.pdf
などにアップできます。 storage/app/public/ 以下のディレクトリでないとアクセス出来ないので注意。
ディスカッション
コメント一覧
まだ、コメントがありません