私のウェブサイトをホストしているサーバーはlinks
をサポートしていないので、php artisan storage:link
を実行して私のストレージディレクトリをパブリックディレクトリにリンクすることはできません。 filesystems.phpのディスク構成を再作成して、public
フォルダを直接参照しようとしましたが、どちらも機能していないようです。パブリックフォルダにLaravelライブラリを直接使用してファイルをアップロードする方法はありますか?それとも、PHPメソッドを使用する必要がありますか?前もって感謝します。Laravelのファイルをパブリックフォルダに直接アップロードする方法は?
答えて
あなたは、設定/ filesystems.phpで新しい記憶ディスクを作成することができます:私は、そこにすべての答えに加えて
if(!Storage::disk('public_uploads')->put($path, $file_content)) {
return false;
}
フォームにmethod = "post" enctype = "multipart/form-data"を追加したこのホッピングを試してください。パブリックパス(.uploadedimages)がプロジェクトディレクトリにあるパブリックフォルダとアップロードされたイメージが置かれる場所に移動されることに注意してください。
public function store (Request $request) {
imageName = time().'.'.$request->image->getClientOriginalExtension();
$request->image->move(public_path('/uploadedimages'), $imageName);
// then you can save $imageName to the database
}
になります。このような
'public_uploads' => [
'driver' => 'local',
'root' => public_path() . '/uploads',
],
そしてストアファイルをパブリックフォルダなので、別の保護レイヤーを追加することをお勧めします。
/files/images/cat.jpg
、あなたが確認することができるように/files/images/{image_name}
のように見えるルートのようなあなたが保護を必要とするパブリックフォルダにありますファイルごとに
、それらへのアクセスを確認しますルートをください、特定のファイルに対するユーザー
あなただけ return response($full_server_filepath, 200)->header('Content-Type', 'image/jpeg');
を行い、正しい検証した後はどのように私はWELとしてファイルに名前を付けることができ、この方法を使用して少し難しく作業になりますが、はるかに安全
ファイルを保護する必要がある場合、そのファイルをパブリックフォルダに保存する理由は何ですか? – sunomad
ファイルを保護する必要がある場合、そのファイルを保存フォルダに保存する理由は何ですか?唯一の違いは、パブリックフォルダ内のファイルは、既定で格納場所の反対側に開くことです。つまり、選択した場所に関係なく、ファイルのアクセスレイヤーを書き込む必要があります。 –
コントローラーフォルダーにモデルを保存したり、CSSフォルダー内のjavascriptファイルを保存したりするなど、私には悪いデザインプラクティスのように聞こえます。パブリックフォルダは、一般に公開されているファイル、つまり名前を保持するためのものです。 – sunomad
- 1. Laravel 5.5 - パブリックフォルダにアップロード
- 2. ファイルを直接リモートサーバーにアップロード
- 3. docファイルをMongodbに直接アップロードする
- 4. アクションスクリプトはファイルをメモリに直接アップロードする方法はありますか?
- 5. イメージフォルダをOpenShift 3サーバーに直接アップロードする方法は?
- 6. Api Gatewayを使ってS3に直接アップロードする方法は?
- 7. laravelのパブリックフォルダに置かれたCSSファイルにイメージパスをロードする方法5.4
- 8. Laravel:画像をパブリックフォルダに保存する方法は?
- 9. laravel:パブリックフォルダ内にあるアセットを表示する方法
- 10. carrierwaveのパブリックフォルダの外側にファイルを格納する方法は?
- 11. パブリックフォルダの上に出力する方法Laravel 5.1
- 12. laravelでアップロード中にcsvファイルを検証する方法は?
- 13. Laravelでパブリックフォルダのパスを保護する方法
- 14. Laravel dropzoneファイルのアップロードでgetClientOriginalName()エラーを克服する方法は?
- 15. ファイルダイアログでファイルを選択した直後にファイルをアップロードする方法は?
- 16. Google Cloud Storage for GAEアプリにファイルを直接アップロードする
- 17. Laravel 5.1ストレージを使用してファイルをパブリックフォルダに移動する
- 18. Laravelパブリックフォルダ内のWordpress
- 19. パブリックフォルダ内のLaravelイメージ
- 20. codeigniterのアプリケーションディレクトリにあるファイルに直接アクセスする方法
- 21. H.264ビデオソースをWindows.Media.Captureのファイルに直接記録する方法
- 22. 直接.mp3ダウンロードにファイル名を割り当てる方法は?
- 23. ブラウザを使用してローカルフォルダからファイルを直接アップロードする
- 24. vcf.gzファイルをvcf.bgzファイルに直接変換する方法はありますか?
- 25. ブラウザで直接MP4/AVIファイルをストリーミングする方法は?
- 26. javascriptで直接URLファイル名を制限する方法は?
- 27. アップロード画像を直接
- 28. Laravelルートに直接アクセスするのを防ぐ方法(つまり、非アヤックスリクエスト)
- 29. 共有ホストのパブリックフォルダにのみLaravelをインストールするには?
- 30. FTPを使ってiOSを直接サーバーディレクトリにアップロードするには
? –
$ pathにはもちろんファイル名が含まれている必要がありますが、1つ以上のサブフォルダも含めることができます。 – sunomad
'$ path = $ request-> photo-> storeAs( 'images'、 'filename.jpg'、 'public_uploads');はアップロードされたファイルのカスタム名を使用します。ここにその文書があります。 https://laravel.com/docs/5.5/requests#storing-uploaded-files – Tharanga