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
にしておく方が良いと思う。