我有一些存儲業務正在我的控制器完成的,這是我的本地機器上工作的代碼:爲什麼我的文件系統路徑在本地計算機和託管在VPS上有所不同?
Storage::copy('public/filename.pdf', 'public/sub_directory/filename_'.$var.'.pdf');
Storage::delete('public/filename.pdf');
有了這個代碼,我能夠成功地複製文件中laravel_root/storage/app/public/
,然後複製和重命名將文件複製到laravel_root/storage/app/public/subdirectory/
,public/
中的文件在複製操作後被刪除。這適用於我的本地機器。
當我將代碼推送到臨時服務器時,上面的路徑不起作用,我得到了ERROR: No such file or directory
。
我從本地機器上的合作,以改變路徑得到這個工作:
Storage::copy('filename.pdf', 'subdirectory/filename_'.$var.'.pdf');
Storage::delete('job_card.pdf');
我不得不從操作刪除了public/
。
我的問題是 - 爲什麼在本地機器和推送到服務器時有所不同?
我在本地計算機上的macOS上運行,在臨時服務器上運行ubuntu 16。我沒有更改任何配置文件。
謝謝!在我的本地計算機中將'config/filesystem.php'設置爲'default'=>'local'',在我的登臺服務器中設置'default'=>'public'' –
沒問題。您也可以指定要使用的驅動程序。例如。 '''Storage :: disk('local') - > copy('public/filename.pdf','public/sub_directory/filename _'。$ var。'。pdf');''。 [更多信息](https://laravel.com/docs/5.3/filesystem) – CUGreen