简体   繁体   English

访问PHP数组对象保护的属性

[英]Accessing PHP Array Object Protected Property

I am trying to upload multiple files in Symfony2. 我想在Symfony2中上传多个文件。 I am trying to access the following request object, but I am unable get the parameters property. 我试图访问以下请求对象,但我无法获取参数属性。 How do I reach the files one by one to upload them. 如何逐个访问文件以上传它们。

The error I get: 我得到的错误:

Fatal error: Cannot access protected property Symfony\\Component\\HttpFoundation\\FileBag::$parameters in /var/www/File/src/Webmuch/FileBundle/Entity/File.php on line 66 致命错误:无法在第66行的/var/www/File/src/Webmuch/FileBundle/Entity/File.php中访问受保护的属性Symfony \\ Component \\ HttpFoundation \\ FileBag :: $参数

Request Object: 请求对象:

Symfony\Component\HttpFoundation\FileBag Object
(
    [parameters:protected] => Array
        (
            [file] => Array
                (
                    [0] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB1.jpg
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 13584
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => /tmp/phpzdaQgW
                            [fileName:SplFileInfo:private] => phpzdaQgW
                        )

                    [1] => Symfony\Component\HttpFoundation\File\UploadedFile Object
                        (
                            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
                            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => FLB2.gif
                            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/gif
                            [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 5193
                            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0
                            [pathName:SplFileInfo:private] => /tmp/phpNUXho7
                            [fileName:SplFileInfo:private] => phpNUXho7
                        )

                )

        )

)

Please help me figure out this object access. 请帮我弄清楚这个对象访问。 Also if someone has a better way to upload files in Symfony2. 此外,如果有人有更好的方法来上传Symfony2中的文件。

To access the files, you do something like 要访问这些文件,您可以执行类似的操作

// retrieves an instance of UploadedFile
$request->files->get('file');

I think you're trying to access the property directly. 我想你正试图直接进入该物业。 You must use the existing getters and setters 1 您必须使用现有的getter和setter 1

This should return the file name: 这应该返回文件名:

// retrieves an instance of UploadedFile
$file = $request->files->get('file');
$file_name = $file->getClientOriginalName();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM