2016-08-16 6 views
0

私はLaravelを使用して入力とファイルのアップロードを行っています。このページでは、ユーザーが注文したい変更を行います。最終目標はこの入力を受け取り、複数の注文に適用することです。要求から複数の場所にファイルを移動またはコピーする

それぞれの注文に対して入力を再利用できます。しかし、私がそのファイルを要求の中で複数のディレクトリにコピーするにはどうすれば良いでしょうか?たとえば、ドキュメントのように、私はもともと持っていた:$request->file('photo')->move($destinationPath, $fileName); 1つの注文のためにうまく動作します。しかし今、私はそれを多くの注文に適用したいので、それが存在しないため、同じファイルをもうリクエストから移動することはできません。

UploadedFileオブジェクトにはcopy()メソッドがないようです。任意のアイデアをいただければ幸いです。ありがとうございました。

答えて

1

コンポーネントにあまり依存しないでください。私はこれらのファイルを想定した提案は(あなたは、ユーザーが順序でこれらのファイルを変更することができません)同じ滞在する予定されていることがあり場合、私はそれが一つのコピーを保存するために理にかなっていると思う、それ簡単な

$request->file('photo')->move($destination_path, $file_name); 

//Add DIRECTORY_SEPARATOR between path and filename if needed 
copy($destination_path.$file_name, $new_path.$new_file_name); 
1

くださいサーバー上のファイルの名前を変更し、データベース表を使用して、そのファイルがどのオーダーに属しているかを判断し、すべてを表で管理します。あなたはfilesテーブルとfile_orderテーブルを作成し、ordersテーブルにそれを多くの関係に多くを与える必要があるかもしれませんが、最終的には、これらのファイルが大きいことが許可されている場合は、あなたに多くのスペースを節約し、私の意見では可能性があり、管理しやすくします。 Laravelで

0

vendor\laravel\framework\src\Illuminate\Filesystem\Filesystem.phpを見て、私はあなたが、彼らはファイルの管理方法、ファイルのすべてを取得いただければ幸いです。

すべてがその中に明確に記述されたファイルを削除する方法に コピーファイル移動ファイル

。コピーのために

Laravel内のファイル、関数があります:私は今、何も言うことはありません

/** 
* Copy a file to a new location. 
* 
* @param string $path 
* @param string $target 
* @return bool 
*/ 
public function copy($path, $target) 
{ 
    return copy($path, $target); 
} 

と思います。 そのままご利用ください

File::copy('file_name_with_full_path', 'target_directory_where_copy'); 

ご希望の場合は、お手数ですが、

関連する問題