如何在Symfony中限制上传大小?

时间:2018-07-26 22:15:46

标签: php symfony

php.net上以文档的形式在客户端 上说明了如何限制上传文件的大小。除了任何服务器端内容之外,还可以完成该操作。

    <!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in $_FILES array -->
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
  

MAX_FILE_SIZE隐藏字段(以字节为单位)必须位于   文件输入字段,其值是接受的最大文件大小   PHP。应始终使用此表单元素,因为它可以节省用户   麻烦等待传输一个大文件而发现   它太大,传输失败。请记住:愚弄这个   在浏览器端进行设置非常容易,因此永远不要依赖带有   此功能阻止了更大的尺寸。它仅仅是一个   为应用程序客户端上的用户提供便利功能。   但是,PHP设置(在服务器端)为最大大小,   不能上当。

在Symfony中有方便的方法吗?

例如,使用Symfony \ Component \ Form \ Extension \ Core \ Type \ FileType。

让我们针对不同版本的Symfony回答这个问题,因为我无法在Google上找到它。

2 个答案:

答案 0 :(得分:0)

File constraint

中的FileType字段与maxSize选项一起使用

答案 1 :(得分:-1)

这样做:

{
/**
 * @Assert\File(
 *     maxSize = "1024k",
 * )
 */
protected $File;

}