Перемещение загрузки файлов в определенную папку с помощью Laravel - PullRequest
0 голосов
/ 25 августа 2018

У меня проблемы с загрузкой изображений для перемещения в соответствующие папки.Когда я загружаю их, они просто сбрасывают в основную папку img вместо того, чтобы переходить в конкретную подпапку.

Вот код, который у меня есть:

            $rental = new Rental;

            $rental->title = $request->title;
            $rental->name = $request->name;
            $rental->description = $request->description;

             if ($request->hasFile('image')) {
                $image = $request->file('image');
                $filename = time() . '.' . $image->getClientOriginalExtension();
                $path = public_path('img/rentals' . $filename);
                 Image::make($image)->save($path);

                 $rental->image = $filename;
                }               

            $rental->save();

1 Ответ

0 голосов
/ 26 августа 2018

Вам не хватает / в вашем $path.Следующая строка ...

$filename = time() . '.' . $image->getClientOriginalExtension();

сгенерирует строку, например, 123456789.jpg.Затем в следующей строке вы делаете ...

$path = public_path('img/rentals' . $filename);

, которая объединяет img/rentals и 123456789.jpg, в результате чего img/rentals123456789.jpg.Обратите внимание, что . объединяет две строки.Затем вы передаете полученную строку в public_path, которая будет ссылаться на папку в вашем общедоступном каталоге с именем img и именем файла rentals123456789.jpg.

Чтобы решить вашу проблему, вам просто нужно вставить форвардкосая черта между:

$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('img/rentals/' . $filename);

, что приведет к папке img/rentals в вашем общедоступном пути и имени файла 123456789.jpg.

...