Я создаю приложение электронной коммерции в Laravel 5.6. У меня так много файловых загрузок, как слайдер, баннер, изображения продуктов и т. Д. Все они загружаются в виде файлов ajax. Каждый файл загружается в хранилище / приложение / {соответствующие папки} .
После загрузки информация о файле сохраняется в uploaded_files таблице mysql. Структура таблицы, как,
-------------------------
uploaded_files
-------------------------
ID
Path
file_code (Unique code for each file)
filename
extension
file_width
file_height
--------------------------
Этот file_code используется в других таблицах для ссылки на этот конкретный файл.
Контроллер загрузки :
class UploadController extends Controller
{
public function index(UploadFilesRequest $request)
{
$dir = "slider";
if ($request->hasFile('image') && $request->file('image')->isValid()) {
$file = $request->file('image');
// path to upload file
$path = $dir.'/'.date('Y/m');
// new filename for uploaded files
$name =str_slug(pathinfo($file->getClientOriginalName(), PATHINFO_FILENAME).'-'.base_convert(time(),10,30), '-');
$extension =$file->getClientOriginalExtension();
$filename = $name.'.'.$extension;
$newpath = $request->image->storeAs($path, $filename );
}
}
}
Я хочу использовать этот метод контроллера из других контроллеров (контроллер слайдера, контроллер продукта и т. Д.). Также $ dir (загружает каталог) и правила проверки изменяются с каждым контроллером. Так как я могу это сделать?
Я очень ценю любую помощь, которую вы можете оказать.