Общая загрузка файлов для всех контроллеров в Laravel - PullRequest
0 голосов
/ 01 июля 2018

Я создаю приложение электронной коммерции в 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 (загружает каталог) и правила проверки изменяются с каждым контроллером. Так как я могу это сделать?

Я очень ценю любую помощь, которую вы можете оказать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...