【Laravel】Storage::makeDirectoryでディレクトリを作成すると、引数通り作成してくれなかった件
事象
画面からファイルをアップロードした際に、ファイルの保存先のディレクトリを作成すべく下記の通り実装した。Storage::makeDirectory("public/images/upload");
すると、何故か「アプリホーム\storage\app」配下に「private」というディレクトリが作成され、その下に「Storage::makeDirectory」で指定したディレクトリが作成されていた。※「アプリホーム\public」には「php artisan storage:link」でシンボリックリンクを作成済み
原因
「アプリホーム\config\filesystems.php」の「root」が「storage_path('app/private')」となっていることが原因。 省略
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app/private'),
'serve' => true,
'throw' => false,
'report' => false,
],
省略
「storage_path('app')」に変更したら想定通りの場所に保存されるようになった。
以上