Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend form上载多个与数组同名的文件时出现fileMaxSize错误_Php_Jquery_Forms_File_Zend Framework - Fatal编程技术网

Php Zend form上载多个与数组同名的文件时出现fileMaxSize错误

Php Zend form上载多个与数组同名的文件时出现fileMaxSize错误,php,jquery,forms,file,zend-framework,Php,Jquery,Forms,File,Zend Framework,我想用zend form上传多个文件。我用一个类生成我的表单,该类读取INI文件并生成表单对象。下面是我的file元素的代码 elements.idea_sf1_image.type = "file" elements.idea_sf1_image.options.isArray = true elements.idea_sf1_image.options.maxFileSize=512600 elements.idea_sf1_image.options.labe

我想用zend form上传多个文件。我用一个类生成我的表单,该类读取INI文件并生成表单对象。下面是我的file元素的代码

elements.idea_sf1_image.type = "file"
     elements.idea_sf1_image.options.isArray = true
     elements.idea_sf1_image.options.maxFileSize=512600
     elements.idea_sf1_image.options.label = "MAIN_IMAGE"
     elements.idea_sf1_image.options.nolabel =true
     elements.idea_sf1_image.options.validators.extension.validator = "Extension"
     elements.idea_sf1_image.options.destination = "_upload/userphoto"
     elements.idea_sf1_image.options.isImage = true
     elements.idea_sf1_image.options.required = true
     elements.idea_sf1_image.options.ignore = true
     elements.idea_sf1_image.options.valuedisabled=true
     elements.idea_sf1_image.options.selectButtonName=" انتخاب تصویر"
     elements.idea_sf1_image.options.uploadButtonName=" تغییر تصویر"
     elements.idea_sf1_image.options.removeButtonName ="حذف تصویر"
     elements.idea_sf1_image.options.validators.extension.options.extension = "jpg,jpeg,png,JPG,JPEG,PNG,BMP,bmp,GIF,gif"
如您所见,我放置了一个maxfile大小验证程序。 在我看来,我的元素呈现如下:

<?php  $this->form->idea_sf1_image->render(); ?>

发布表单时,表单验证始终返回“超过最大文件大小错误”。 当我将表单发布的数据转储到控制器中时,我注意到表单发送的数据名为MAX_FILE_SIZE,值为1。有人知道为什么我的代码会显示这个错误吗? 顺便说一下,我的表单是动态的。这意味着用户可以通过按+按钮添加多个文件,我可以在表单末尾复制文件输入代码

更新: 我发现了问题并解决了它。。。 我以前有一个表单对象……当我从上面的ini文件实例化另一个表单对象并将其元素添加到另一个表单对象时,它将一个名为“MAX_file_SIZE”的隐藏输入设置为零,而不是512600。 所以我试图找出它设置不正确的原因。我没有找到任何解决方案,但我发现最大文件大小为零值会阻止浏览器将文件正确发送到服务器。我只是使用JQuery更改了视图文件中的MAX_FILE_SIZE值,现在它可以正常工作了。
但是我仍然不知道为什么zend form在向其添加文件元素对象时会这样做。

你能提供源代码吗?如何从这个ini文件生成表单?它是一个大型库,包含多种输入类型的类,因此不可能提供它们。不幸的是,无法告诉你出了什么问题在这个大图书馆里。很明显,maxFileSize参数设置为1而不是512600。您还应该检查
php.ini
设置中的
post_max_size
upload_max_filesize
我已经检查了“post_max_size”和“upload_max_filesize”。我会检查我的库,找出为什么maxFileSize设置为1,并会让您知道结果。@Gennadiy Litvinyuk post_max_size和upload_max_filesize刚刚好很好,在php.ini中,您可以提供源代码吗?如何从这个ini文件生成表单?它是一个大型库,包含各种输入类型的多个类,因此不可能提供它们。不幸的是,在这个大型库中不可能告诉您出了什么问题。很明显,maxFileSize参数设置为1而不是512600。您还应该检查
php.ini
设置中的
post_max_size
upload_max_filesize
我已经检查了“post_max_size”和“upload_max_filesize”。我会检查我的库,找出为什么maxFileSize设置为1,并会让您知道结果。@Gennadiy Litvinyuk post_max_size和upload_max_filesize刚刚好在php.ini中很好