web-dev-qa-db-ja.com

symfony2教義なしでファイルをアップロードする方法は?

Doctrineを使用せずに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
                        )

                )

        )
13
Rahul

フォームを送信した後、ファイルを目的のディレクトリに移動すると、Fileオブジェクトが返されます。

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

このクラスのフル機能のドキュメントについては、 API-Manual を参照してください。

33
devsheeep