Как вставить файл csv в symfony 4

я новичок в 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()
    ]);
}
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Что нового в PHP 8.1?
Что нового в PHP 8.1?
Если вы все еще используете PHP 7, то эта статья для вас. В PHP 8, а именно в PHP 8.1, встроены некоторые очень востребованные функции, которые вам...
Разработка LMS на заказ для повышения эффективности работы и обучения
Разработка LMS на заказ для повышения эффективности работы и обучения
За последние годы в образовании произошла большая революция, и сегодня почти все учебные заведения делают упор на эксклюзивное управление учебным...
2
0
5 342
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Попробуйте использовать $file->getClientOriginalExtension() вместо $file->guessExtension()

да, теперь у меня есть файл .csv, но он не находит путь, у меня такая ошибка: %kernel.root.dir%/../public/uploads/d07a601bd149bebd5045abd4‌​eda0b5e4.csv: не удалось открыть поток: Нет такой файл или каталог спасибо за вашу помощь :)

braknight 22.05.2019 15:39

@braknight Я думаю, ты можешь просто использовать $this->getParameter('upload_directory') . $fileName.

Chris 29.01.2020 16:01

Другие вопросы по теме