Laravelでアップロードファイルを保存するときなどに、UploadedFile
クラスのstore()
やstoreAs()
を使う。
これらの第2引数や第3引数でディスクを指定することができ、通常は’public’が指定される。
このpublicディスクがどの場所を指しているかは、アプリケーションディレクトリー下のconfig/filesystems.php
に書かれている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php return [ 'default' => env('FILESYSTEM_DRIVER', 'local'), 'cloud' => env('FILESYSTEM_CLOUD', 's3'), 'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), ], 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), 'url' => env('APP_URL').'/storage', 'visibility' => 'public', ], 's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), ], ], ]; |
この中で'root' => storage_path('app/public')
というのがあるが、storage_path()
はアプリケーションのstorage
ディレクトリーからの相対パスを指定してパスを返すので、publicディスクの場所はstorage/app/public
ということになる。