я новичок в symfony 4 :), я хочу вставить файл csv в свою базу данных через входной файл в symfony 4
я пытаюсь что-то сделать в своем контроллере, но он преобразует файл .csv в файл .txt, я не понимаю, почему?
public function upload(Request $request): Response
{
$upload = new Upload();
$formUpload = $this->createForm(UploadType::class, $upload);
$formUpload->handleRequest($request);
if ($formUpload->isSubmitted() && $formUpload->isValid()) {
$file = $upload->getUpload();
$fileName = md5(uniqid()).'.'.$file->guessExtension();
$file->move($this->getParameter('upload_directory'), $fileName);
$upload->setUpload($fileName);
$reader = Reader::createFromPath('%kernel.root.dir%/../public/uploads/'.$fileName);
$result = $reader->fetchAssoc();
foreach ($result as $row){
$customer = new Customers();
$customer
->setCivility($row['civility'])
->setLastName($row['last_name'])
->setFirstName($row['first_name'])
->setEmail($row['email'])
->setNumber($row['number'])
->setDealer($row['dealer'])
->setDealerCode($row['dealer_zone'])
->setDealerZone($row['dealer_code'])
;
$this->em->persist($customer);
}
$this->em->flush();
$this->addFlash('success','Bien ajouté avec succès');
}
return $this->render('customers/upload.html.twig',[
'formUpload' => $formUpload->createView()
]);
}
Попробуйте использовать $file->getClientOriginalExtension()
вместо $file->guessExtension()
@braknight Я думаю, ты можешь просто использовать $this->getParameter('upload_directory') . $fileName
.
да, теперь у меня есть файл .csv, но он не находит путь, у меня такая ошибка: %kernel.root.dir%/../public/uploads/d07a601bd149bebd5045abd4eda0b5e4.csv: не удалось открыть поток: Нет такой файл или каталог спасибо за вашу помощь :)