並且public設定為不可寫入才能做到安全上傳檔案到publi對系統的危害有多大?
同意 @chekun 的回答,請仔細觀看官方文件:文件儲存
公開磁碟# 「公開磁碟」就是指你的檔案將可被公開訪問,預設下, public 磁碟使用 local 驅動且將檔案存放在storage/app/public 目錄下。為了能透過網路訪問,你需要建立 public/storage 到storage/app/public 的符號連結。這個約定能讓你的可公開存取檔案保持在同一個目錄下,這樣在不同的部署系統間就可以輕鬆共享,如Envoyer 的「不停服」部署系統。 你可以使用 storage:link Artisan 指令建立符號連結: php artisan storage:link 當然了,當檔案放好且符號連結創建完畢後,你就可以用 asset 輔助函數建立 URL 了: echo asset('storage/file.txt');
公開磁碟# 「公開磁碟」就是指你的檔案將可被公開訪問,預設下, public 磁碟使用 local 驅動且將檔案存放在storage/app/public 目錄下。為了能透過網路訪問,你需要建立 public/storage 到storage/app/public 的符號連結。這個約定能讓你的可公開存取檔案保持在同一個目錄下,這樣在不同的部署系統間就可以輕鬆共享,如Envoyer 的「不停服」部署系統。
你可以使用 storage:link Artisan 指令建立符號連結:
php artisan storage:link 當然了,當檔案放好且符號連結創建完畢後,你就可以用 asset 輔助函數建立 URL 了:
echo asset('storage/file.txt');
laravel 預設就是:
儲存配置裡的public 儲存目錄就是 storage/app/public然後透過 php artisan storage:link link 到 public 目錄下的
storage/app/public
php artisan storage:link
同意 @chekun 的回答,請仔細觀看官方文件:文件儲存
laravel 預設就是:
儲存配置裡的public 儲存目錄就是
storage/app/public
然後透過
php artisan storage:link
link 到 public 目錄下的