我已经设置了一个文件上传表单,允许用户将文件拖放到页面上,然后用户可以添加这些图像。你可以放1或50张图片,这没什么关系。嗯,这就是我认为它没有做到的。由于一些非常奇怪的原因,CakePHP将post数据数组限制为20个条目,无论我设置为post max sizes并将PHP.ini中的max filesizes上传到(目前它们是~500MB)。我尝试上传的文件是.PNG文件,最多可累积1到2 MB。 CakePHP版本是2.4.2,此框中的PHP是5.3.13。
为了便于解释,这里有一些实际操作的截图:
图像可能有点难以阅读,但它说这里选择了43个文件,总上传大小为600 KB。在我的PHP.ini中,我有500 MB的限制。 (Page使用此处描述的Javascript技术:https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications。)
以下是上图中生成的HTML源代码:https://gist.github.com/anonymous/2a9b11a8c7b19adfdf54
发布此数据会给我这个数据数组:
[data] => Array
(
[media] => Array
(
[0] => Array
(
[name] => Kirby Superstar_00016.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C3.tmp
[error] => 0
[size] => 7389
)
[1] => Array
(
[name] => Kirby Superstar_00017.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C4.tmp
[error] => 0
[size] => 10383
)
[2] => Array
(
[name] => Kirby Superstar_00018.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C5.tmp
[error] => 0
[size] => 10560
)
[3] => Array
(
[name] => Kirby Superstar_00019.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C6.tmp
[error] => 0
[size] => 10540
)
[4] => Array
(
[name] => Kirby Superstar_00020.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C7.tmp
[error] => 0
[size] => 13636
)
[5] => Array
(
[name] => Kirby Superstar_00021.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C8.tmp
[error] => 0
[size] => 14396
)
[6] => Array
(
[name] => Kirby Superstar_00022.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2C9.tmp
[error] => 0
[size] => 14942
)
[7] => Array
(
[name] => Magical Quest Starring Mickey Mouse, The (U)_00000.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CA.tmp
[error] => 0
[size] => 6133
)
[8] => Array
(
[name] => Mighty Max_00000.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CB.tmp
[error] => 0
[size] => 17374
)
[9] => Array
(
[name] => Mighty Max_00001.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CC.tmp
[error] => 0
[size] => 17374
)
[10] => Array
(
[name] => Mighty Max_00002.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CD.tmp
[error] => 0
[size] => 17374
)
[11] => Array
(
[name] => bustmove_00033.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CE.tmp
[error] => 0
[size] => 20676
)
[12] => Array
(
[name] => bustmove_00038.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2CF.tmp
[error] => 0
[size] => 20904
)
[13] => Array
(
[name] => bustmove_00042.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2D0.tmp
[error] => 0
[size] => 18803
)
[14] => Array
(
[name] => bustmove_00043.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2D1.tmp
[error] => 0
[size] => 3177
)
[15] => Array
(
[name] => bustmove_00058.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2D2.tmp
[error] => 0
[size] => 22792
)
[16] => Array
(
[name] => bustmove_00094.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2E2.tmp
[error] => 0
[size] => 9757
)
[17] => Array
(
[name] => ff2_00000.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2E3.tmp
[error] => 0
[size] => 29268
)
[18] => Array
(
[name] => ff2_00001.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2E4.tmp
[error] => 0
[size] => 17184
)
[19] => Array
(
[name] => ff2_00002.png
[type] => image/png
[tmp_name] => C:\Program Files\wamp\tmp\phpF2E5.tmp
[error] => 0
[size] => 12770
)
)
)
那只有20个文件,而不是我最初选择的43个文件。 HTML文件或处理上传的控制器没有大小限制。上传任意数量的文件最多20个是好的,但这是它绘制线的地方。我也试过禁用javascript来处理一些页面的优点,只是为了确保它没有搞砸 - 没有变化。发生了什么事?