Laravelで保存したファイルに権限を設定することができる。
setVisibilityというメソッドを使うことで、ユーザから見れるようにするかどうかという設定を変えるものである。
使い方は、
Storage::->setVisibility($file_path, 'private or public');
となる。
Storageはローカル環境ならローカルに、本番環境ならs3にするなど、環境変数で振り分けたりする。
provateとpublicの権限の違い
protected static $permissions = [
'file' => [
'public' => 0644,
'private' => 0600,
],
'dir' => [
'public' => 0755,
'private' => 0700,
]
];
上記のように設定されているので、publicならユーザからも見ることができるし、privateだとユーザからは見ることができない。
画像の使い道は、アイコンとか、商品画像が多いような気がするのでpublicでいいんじゃないかなと思うが、管理画面でしか使わない画像など、見せたくない画像があった時は、privateにしておく方が良いと思う。