[Laravel] root 外のファイルにアクセスしたら laravel Path is outside of the defined root と怒られたのでどうにかしたい

結論

config/filesystems.php に、自前で設定を追加すればOK。

詳細

Laravel のデフォルト設定だと、

'local' => [
    'driver' => 'local',
    'root' => storage_path('app'),
],

となっておりまして、 プロジェクトルート/storage/app が起点になってました。

例えば、 /storage/temp にある全ファイルを取得したい、という場合に、

$tempfiles = Storage::disk('local')->allFiles('../temp');

とかやってみたんですが、

 Path is outside of the defined root, path: [../temp]

とエラーになってしまいまして…。

こちらの情報をもとに、

参考情報:

config/filesystems.php 内に以下のような設定を追加。

'temp' => [
    'driver' => 'local',
    'root' => storage_path('temp'),
    'visibility' => 'private',
],

で、

$tempfiles = Storage::disk('temp')->allFiles();

として参照できるようになったのでした。