Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 27.02.2019 13:30:51

Как лучше записать аватар после обрезки ?

Всем привет, использую в проекте на Laravel- croppie для обрезки фото аватара, после форматирования аватар сохраняется в папке upload, после нажатия кнопки сохранить планирую переместить аватарку в папку img/users/ava_id.png и записать путь в бд., Но не могу никак передать путь к файлу в форму из контроллера. Посоветуйте, как проще сделать загрузку авы ?
imageController:

public function imageCropPost(Request $request)
    {
        $data = $request->image;
        list($type, $data) = explode(';', $data);
        list(, $data)      = explode(',', $data);
        $data = base64_decode($data);
        $image_name= time().'.png';
        $path = public_path() . "/upload/" . $image_name;
        file_put_contents($path, $data);
        return response()->json(['success'=>'done']);
    }

Изменено An543 (27.02.2019 13:31:22)

Не в сети

#2 27.02.2019 13:51:47

Re: Как лучше записать аватар после обрезки ?

А если здесь сразу написать путь для сохранения файла

$path = public_path() . "/upload/" . $image_name;

Не в сети

#3 27.02.2019 13:58:05

Re: Как лучше записать аватар после обрезки ?

А если здесь сразу написать путь для сохранения файла

т.е. миновать папку upload, а при нажатии кнопки сохранить записать в БД и закрыть форму ?

Не в сети

#4 27.02.2019 14:08:20

Re: Как лучше записать аватар после обрезки ?

Ну да

Не в сети

#5 27.02.2019 14:17:01

Re: Как лучше записать аватар после обрезки ?

Ну да

Получается и путь к аватару в  update брать не из контроллера, который сохранял файл, а так же

$path = public_path() . "/upload/" . $image_name;

Не в сети

#6 27.02.2019 14:21:05

Re: Как лучше записать аватар после обрезки ?

В контроллере, который обрабатывает сохранение файла, напиши путь, который тебе нужен

$path = public_path() . "/dir/dir/" . $image_name;

Не в сети

#7 28.02.2019 05:26:20

Re: Как лучше записать аватар после обрезки ?

В контроллере, который обрабатывает сохранение файла, напиши путь, который тебе нужен

Вот например, юзер редактирует аватар и путь в БД к нему есть, загружает новый, обрезал, но не сохраняет,а он уже сохранен в папке где путь в БД.

Не в сети

#8 28.02.2019 08:10:54

Re: Как лучше записать аватар после обрезки ?

В БД должно храниться только имя файла. Путь к нему пиши в обработчике

Не в сети

#9 28.02.2019 09:19:00

Re: Как лучше записать аватар после обрезки ?

В БД должно храниться только имя файла. Путь к нему пиши в обработчике

Присваивать все время уникальное имя ?  через time()

Не в сети

#10 28.02.2019 15:56:03

Re: Как лучше записать аватар после обрезки ?

Лучше старый удалять, а новый добавлять. Иначе у тебя куча ненужного мусора будет висеть

Не в сети

#11 01.03.2019 05:50:54

Re: Как лучше записать аватар после обрезки ?

Лучше старый удалять, а новый добавлять. Иначе у тебя куча ненужного мусора будет висеть

есть 2е кнопки , одна ресайзит и сохраняет , вторая записывает в БД. Поэтому я и выбрал путь сохранить в Upload после ресайза, а после сохранить переместить в папку users и перезаписать в папке и в БД.

Не в сети

Подвал раздела