2016-07-28 60 views
0

在我的Laravel API調用中,我使用存儲上傳文件。然後我沃爾德想重命名和利用將文件移動到一個公共目錄:Laravel 5.1使用存儲將文件移動到公用文件夾

$dest = '/var/www/public/uploads/'; 
    Storage::disk('local')->put($filename.'.'.$extension, File::get($file)); 
    $oldfilename = $filename.'.'.$extension; 
    Storage::move($oldfilename, $dest.$newImageName); 

但不是文件移動到$ DEST目錄,我與我的存儲裏面的$目標目錄名稱創建一個文件夾/ app文件夾,並將文件複製到那裏。我也曾嘗試在$dest.$newImageName附近使用雙引號,但沒有成功。

+0

昌$ DEST = '/無功/網絡/公/上傳/';到$ dest ='uploads /'; –

回答

1

如果您在配置有一個數組['disks']['public']/filesystems.php你可以這樣做:

Storage::disk('public')->move($oldfilename, $dest.$newImageName); 

如果不創建一個看起來是這樣的:

'public' => [ 
     'driver'  => 'local', 
     'root'  => storage_path('app/public'), 
     'visibility' => 'public', 
    ], 

然後您將能夠使用公開「磁盤」與存儲門面。

請注意,您不必指定絕對路徑,Laravel將知道存儲路徑爲app/public

編輯

另一個配置選項可能工作:

'public' => [ 
     'driver'  => 'local', 
     'root'  => public_path(), 
     'visibility' => 'public', 
    ], 
+0

上面的代碼將文件放在myappname/storage/public /中我真正想要做的就是將該文件放在myappname/public文件夾中..我們在哪裏存儲index.php和.robots.txt – singh

+0

@JotiBasi請檢查我的編輯。 – TheFallen