Symfony - 如何通过PHP表单上传处理收到的文件

时间:2017-03-07 08:39:26

标签: php forms file symfony

我必须编写一个接收CSV文件的控制器。当我通过Postman发布文件时,我知道如何处理Symfony中的文件:

    if ($this->getRequest()->files) {
        $filename = date('Ymd').'-filename.csv';
        $directory = $this->container->getParameter('kernel.root_dir').'/';
        $request = $this->get('request');
        $data = $request->getContent(); 
    }

如果文件是通过PHP表单上传的,则上传如下:

    <form action="{{path('import_csv_file')}}" method="POST" enctype="multipart/form-data">
     Select file to upload:
     <input type="file" name="fileToUpload" id="fileToUpload">
     <input type="submit" value="Upload CSV File" name="submit">
    </form>

如何处理控制器中的文件? 谢谢!

1 个答案:

答案 0 :(得分:1)

您的文件存储在$ request中。如果您发送了多个文件并且是UploadedFile(),则是一个数组;如果文件只是一个。该数组是一个UploadedFile()集合。

public function yourAction(Request $request)
{
    $file = $request->files;
}