symfony2如何上传没有教条的文件?

时间:2013-06-10 07:54:48

标签: php symfony file-upload symfony-2.2

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

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

现在当我在symfony中提交表单时,这就是我在请求数组的'files'部分得到的内容(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
                        )

                )

        )

1 个答案:

答案 0 :(得分:33)

提交表单后,将文件移动到所需目录,然后您将获得一个File对象。

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

请查看the API-Manual以获取此课程的完整功能文档。