2016-07-28 38 views
0

私のLaravel APIコールでは、Storageを使用してファイルをアップロードします。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ディレクトリにファイルを移動するので、私は私の記憶装置内の$ destのディレクトリ名で作成されたフォルダを取得:それから私は、名前を変更して使用してパブリックディレクトリにファイルを移動したいとウォルド/ appフォルダにコピーされ、そこにファイルがコピーされます。私も$dest.$newImageNameを二重引用符で囲みましたが、成功しませんでした。

+0

チャンの$ DEST = 'の/ var/www /の公開/アップロード/'; to $ dest = 'uploads /'; –

答えて

1

あなたが行うことができますのconfig/filesystems.phpの配列['disks']['public']お持ちの場合:その後、

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

そして:あなたはこのように見えるものを作成しない場合

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

をあなたは "ディスク"をストレージファサードと共に使用することができます。

絶対パスを指定する必要はなく、Laravelはストレージパスがapp/publicであることを認識します。

EDIT

働くかもしれないもう一つの設定オプション:

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

上記のコードはmyappname/storage/public /にファイルを置いています。本当にやりたいことはmyappname/publicフォルダにファイルを置くことです。index.phpと.robots.txtを格納します – singh

+0

@JotiBasi私の編集を確認してください。 – TheFallen

関連する問題