2016-08-12 76 views
0

我正在尋找使用Storage :: move在Laravel 5.2中移動文件。我使用的代碼如下:使用存儲::移動在Laravel 5.2中移動文件:

$file = basename($m); 
      $new_path= base_path('mailbox_archive/'.$file); 

Storage::move($m, $new_path); 

我收到以下錯誤消息:

[聯賽\ Flysystem \ FileNotFoundException異常]
文件未在路徑中找到: 用戶/ JamesParsons/Dropbox的/虛擬/郵箱/ 17_10-08
-16_20-49-17.json

的路徑如下:

$m=/Users/JamesParsons/Dropbox/virtual/mailbox/17_10-08-16_20-49-17.json 

$new_path=/Users/JamesParsons/Dropbox/virtual/mailbox_archive/17_10-08-16_20-49-17.json 

感謝

+0

儘量充分明確地使用:'$ old_path = BASE_PATH('郵箱/'.$文件);'然後:'存儲: :move($ old_path,$ new_path);' – Maraboc

+0

不幸的是@Maraboc –

+0

你是否在將它移動到下面的代碼中後使用這個文件(這行後面的代碼'Storage :: move($ m,$ new_path);') ?或者沒有其他代碼? – Maraboc

回答

0

您試圖訪問/移動你的計算機上的文件。但是你在主機/虛擬機/服務器。這不會像VM內部那樣工作,因此無法訪問您的保管箱文件夾。

+0

但是同一個進程可以在活動服務器上運行? @Simon Davies? –

+0

爲它在您的本地/ vm /服務器等工作,那麼您將需要在您的服務器/站點中的文件夾/ Users/JamesParsons/Dropbox/virtual /並使用存儲磁盤配置進行設置。該代碼無法逃離服務器並訪問您的HD –

+0

只要我知道它一旦生效就會工作,不應該是個問題。這是命令中的最後一個動作,所有測試到那個點都沒有問題 –

0

我改變了從上面

Storage::move($m, $new_path); 

File::move($m, $new_path);