14

是否可以在不使用原则的情况下在 symfony2 中上传文件?对于学说,这里给出了它的例子:http: //symfony.com/doc/2.2/cookbook/doctrine/file_uploads.html

有没有一种简单的上传文件的方法,比如在核心 PHP 中,我们有 move_uploaded_file() 函数,我们可以在提交表单后将上传的文件移动到文件中。

现在,当我在 symfony 中提交表单时,这就是我在请求数组 (Symfony\Component\HttpFoundation\Request) 的“文件”部分中得到的内容

 [files] => Symfony\Component\HttpFoundation\FileBag Object
        (
            [parameters:protected] => Array
                (
                    [upload_cover] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => secret_of_success.png
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/png
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 157958
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => C:\xampp\tmp\php3636.tmp
                            [fileName:SplFileInfo:private] => php3636.tmp
                        )

                )

        )
4

1 回答 1

34

提交表单后,将文件移动到您想要的目录,您将获得一个File对象作为回报。

foreach($request->files as $uploadedFile) {
    $name = //...
    $file = $uploadedFile->move($directory, $name);
}

查看API 手册以获取此类的完整功能文档。

于 2013-06-10T08:27:48.347 回答