#php #laravel #file-upload
#php #laravel #загрузка файла
Вопрос:
Я получил ошибку с
Вызов функции-члена move() при нулевом значении в $request->file-> move(‘хранилище/’. $filename);
$application = new Application;
if($request->file('proposal')){
$file=$request->file('proposal');
$filename=time().'.'.$file->getClientOriginalExtension();
$request->file->move('storage/'. $filename);
$application->file= $filename;
}
Комментарии:
1. вы только что получили файл из запроса с помощью
$file = $request->file(...)
… используйте$file->move(...)
not$request->file->move(...)
, который будет искать входные данные с именемfile
в запросе2. спасибо, что разъяснили это. Я следовал руководству и удивляюсь, почему я не получаю тот же результат. Спасибо
Ответ №1:
Попробуйте это
$application = new Application;
if($request->file('proposal')){
$file=$request->file('proposal');
$filename=time().'.'.$file->getClientOriginalExtension();
$file->move('storage/'. $filename);
$application->file= $filename;
}
Вы отправляете файл запроса в $file veriable и используете этот veriable для другой операции.
Ответ №2:
hashName()-> преобразовать имя файла в случайный хэш я думаю, что это лучший способ хранить файлы в laravel
$application = new Application;
if($request->proposal):
request('proposal')->hashName();
request('proposal')->store('your path');
endif;