хорошо, я пробовал много методов, когда-нибудь, наконец, создал функцию
function saveFilesMultipleTimes( \Illuminate\Http\UploadedFile$requestFile, $mainFolderPath,$paths)
{
$fileName = $requestFile->getClientOriginalName();
$movedFile = $requestFile->move($mainFolderPath, $fileName);
$currentFile = $movedFile->getPathName();
foreach ( (array) $paths as $eachPath)
{
@mkdir( $eachPath);
@copy($movedFile->getPathName(), $eachPath . $fileName);
$dirctory[] = $eachPath.$fileName;
}
return $dirctory;
}
Скопируйте и вставьте его в свой контроллер
Теперь, как его использовать
$mainFolderPath = public_path('Folder-a/');
$folder1 = public_path('Folder-1/');
$folder2 = public_path('Folder-2/');
$folder3 = public_path('Folder-3/');
$folder4 = public_path('Folder-4/');
$fileObject = $request->image;
$filenamesWithPath = saveFilesMultipleTimes( $fileObject, $mainFolderPath, [$folder1, $folder2, $folder3, $folder4]);
dd($filenamesWithPath);
Этот дд даст всем именам файлов вместе с путем
Надеюсь на помощь
ОБНОВЛЕНО КОНТРОЛЛЕРОМ
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Service;
use Illuminate\Support\Facades\File;
class ServiceController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function store(Request $request)
{
$this->validate($request, ['image' => 'required|image|mimes:jpeg,png,jpg|max:2048',]);
$input['image'] = time().'.'.$request->image->getClientOriginalExtension();
$mainFolderPath = public_path('Folder-a/');
$folder1 = public_path('Folder-1/');
$folder2 = public_path('Folder-2/');
$folder3 = public_path('Folder-3/');
$folder4 = public_path('Folder-4/');
$fileObject = $request->image;
$filenamesWithPath = self::saveFilesMultipleTimes($fileObject, $mainFolderPath, [$folder1, $folder2,
$folder3, $folder4]);
Service::create($input);
return back()->with('success', ' CREATED SUCCESSFULLY .');
}
public function saveFilesMultipleTimes(\Illuminate\Http\UploadedFile$requestFile, $mainFolderPath, $paths)
{
$fileName = $requestFile->getClientOriginalName();
$movedFile = $requestFile->move($mainFolderPath, $fileName);
foreach ((array) $paths as $eachPath) {
@mkdir($eachPath);
@copy($movedFile->getPathName(), $eachPath . $fileName);
$dirctory[] = $eachPath.$fileName;
}
return $dirctory;
}
}
Если вы столкнулись с какими-либо проблемами, пожалуйста, оставьте комментарий ниже
И ЕСЛИ ФАЙЛ ЗАГРУЖАЕТСЯ УСПЕШНО ЧЕТЫРЕ РАЗА, ПОЖАЛУЙСТА, ОТМЕТЬТЕ МОЙ ОТВЕТ, КАК ПРИНЯТ