Symfony3导入excel文件的绝对路径

Symfony3导入excel文件的绝对路径,excel,symfony,Excel,Symfony,我必须将一些excel文件的内容导入数据库,这些文件是从U盘或其他位置选择的。我在for循环中动态生成输入type=file,并可以为每行选择excel文件。单击导入按钮后,我想将控制器操作中的选定文件插入数据库。如何获取所选文件的完整/绝对路径??我只是得到了Fakepath+Excel文件名。或者,获取某个文件的实际路径的最佳方法是什么?非常感谢您可以对上载的文件使用getClientOriginalName方法 类似帖子:除了@Romain Norsberg的答案: 演示如何上传文件,但如

我必须将一些excel文件的内容导入数据库,这些文件是从U盘或其他位置选择的。我在for循环中动态生成输入type=file,并可以为每行选择excel文件。单击导入按钮后,我想将控制器操作中的选定文件插入数据库。如何获取所选文件的完整/绝对路径??我只是得到了Fakepath+Excel文件名。或者,获取某个文件的实际路径的最佳方法是什么?非常感谢

您可以对上载的文件使用getClientOriginalName方法


类似帖子:

除了@Romain Norsberg的答案:

演示如何上传文件,但如果您只想利用其内容,则无需保存文件即可完成

if ($form->isSubmitted() && $form->isValid()) {
        // $file stores the uploaded PDF file
        /** @var Symfony\Component\HttpFoundation\File\UploadedFile $file */
        $file = $product->getBrochure();

        //  do whatever you want to do with the content of the file without saving the file in the server

        //something like
        $contents = file_get_contents($file->getPathname()); 

    }
这就是你能做的

 if($request->isMethod('post')) {
        // retrieve the uploaded file
        $file = $request->files->get('inputExcel');
        // retrieve the web directory path
        $webDir = $this->get('kernel')->getProjectDir() . "/web";
        //Move the file in your web directory
        $file->move($webDir, $file->getClientOriginalName());
        $pathFile = $webDir.'/'. $file->getClientOriginalName();
        //call your service to save data from file
        $saveDataFromFile->($pathFile);
        //remove the file after treatment
        unlike($pathFile);
}

谢谢,但我不想上传文件!我想用PHPOffice/PHPExcel读取文件,并将行插入数据库,而不是excel文件。为此,我需要路径,但不是来自应用程序,比如:$inputFileName=$this->get'kernel'->getRootDir'/excel/testempty.xlsx';我认为出于安全原因,即使在javascript.Mhh中,这也是被禁止的,好吧,我明白了,但在控制器中,用php获取路径应该是可能的??每次将excel文件复制到应用程序目录中并不是最好的解决方案:最佳做法是使用表单。上传、处理文件,然后删除文件:你是说文件在服务器上的绝对路径?像/var/www/myApp/web/uploads/excels/myfile\u upload.xlsx?我的意思是,即使是本地机器,也没有服务器:C:\UserX\Desktop\test.xls或D:\SomeDirectory\text.xlsps:文件不应该上传-文件的内容应该插入数据库,就这样…你不知道文件来自哪里。你不应该在意。你想用这些信息做什么?您不需要它来提取文件的数据我需要从文件中提取数据:-我需要新生成表中excel_1.xls中的行稍后用作永久表中一条记录xy的模板-我需要新生成表中excel_2.xls中的行稍后用作其他记录yz的模板-然后我需要这两条新生成的一个新表中的表包含一些附加属性我不需要excel文件上传,只需要它们的行内容,而且确实有很多行,但我需要它们在数据库中!