私はパブリックフォルダstorage/app/public/
にファイルを保存しようとしていますが、何らかの理由でLaravelがプライベートstorage/app/
フォルダに入れたようです。Laravel 5.5 - パブリックフォルダにアップロード
私が正しく理解していれば、私は単に「公共」に可視性を設定することになってるが、それは何も変更していないようだ。
Storage::put($fileName, file_get_contents($file), 'public');
私はgetVisibilityを呼び出すときにそれが動作しているようですので、私は公共の取得罰金:
Storage::getVisibility($fileName); // public
これらは私のfilesystems.phpで設定されている:
'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_KEY'),
'secret' => env('AWS_SECRET'),
'region' => env('AWS_REGION'),
'bucket' => env('AWS_BUCKET'),
],
],
おかげで、これは動作します! しかし、私はまだputメソッドの 'public'引数が何をしているのか理解していません。私はそれを省略することができます(またはそれを 'プライベート'として設定することもできます)。すべてがうまくいきます。私は混乱します。P –
amazon s3をディスクとして使用しているときにvisibility引数が便利です。これはファイルの可視性を設定します(公開されているかどうかに関係なく、ローカルディスクを使用している場合は効果がありません)。 – Hamoud