Я делал массив форм, которые использовали для загрузки текста и файла (изображения).
У меня проблема с этим. Когда я отправляю 1 форму, все в порядке, пока я не отправлю более 1 формы.
Вот функция для отправки формы:
public function addMorePost(Request $request)
{
$request->validate([
'addmore.*.name' => 'required',
'addmore.*.qty' => 'required',
'addmore.*.price' => 'required',
'filenames.*' => 'required|image|mimes:jpeg,png,jpg|max:2048'
]);
foreach ($request->addmore as $key => $value) {
if($request->hasFile('filenames.*')) {
$file = $request->file('filenames.*');
foreach ($file as $files) {
$fileName = $files->getClientOriginalName();
$fileName = $fileName.'.'.$files->getClientOriginalExtension();
$files->move(public_path(),$fileName);
ProductStock::create(['name' => $request->addmore[$key]['name'],
'qty' => $request->addmore[$key]['qty'],
'price' => $request->addmore[$key]['price'],
'filenames' => $fileName
]);
}
}
// print_r($value);
}
return $request->addmore;
}
Проблема заключается в том, когда я отправляю 2 или более форма (рассмотрим, что 1-я форма имеет файл с именем xyz.jpg и ab c .jpg для 2-й формы), затем появляется ошибка:
Laravel 6: файл "xyz. jpg "не был загружен из-за неизвестной ошибки.
Файл xyz.jpg был загружен в public_path()
, но не в ab c .jpg
Ошибка включена этот синтаксис:
$files->move(public_path(),$fileName);
Но я понятия не имею, какой правильный синтаксис должен быть.