Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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
Javascript php文件上载数组和_Javascript_Php_Upload_Directory - Fatal编程技术网

Javascript php文件上载数组和

Javascript php文件上载数组和,javascript,php,upload,directory,Javascript,Php,Upload,Directory,嘿,我一直在犯错误 数组_sum()要求参数1为数组 有人知道我做错了什么吗?非常感谢。我想我可能有一个斜杠在错误的位置上的文件夹名称或什么?我有一个下拉菜单,给我文件夹的值,我正在通过javascript提交我的表单,如下所示: document.getElementById("form").submit(); alert("form submitted"); PHP 是您的问题,array_sum需要一个数组,但您发送的是一个大小。大小可能是一个整数。试一试 array_sum($_FI

嘿,我一直在犯错误

数组_sum()要求参数1为数组

有人知道我做错了什么吗?非常感谢。我想我可能有一个斜杠在错误的位置上的文件夹名称或什么?我有一个下拉菜单,给我文件夹的值,我正在通过javascript提交我的表单,如下所示:

document.getElementById("form").submit();
alert("form submitted");
PHP


是您的问题,array_sum需要一个数组,但您发送的是一个大小。大小可能是一个整数。试一试

array_sum($_FILES['file'])

然后查看是否出现其他错误。

调用
array\u sum
,传入一个值,该值不是数组。您传递的值是
$\u FILES['file']['size']
,它不是数组,只是文件'file'的(整数)大小

不幸的是,您希望对大小求和,但它们嵌套在文件数组中更深。文件数组本身包含每个项的数组,每个项都是一个数组,其中包含一个文件的各种属性的键。该函数只能对单个一维数组的项求和,因此该函数在这里没有多大帮助

改为使用循环求解:

$size = 0;
foreach ($_FILES as $file) {
  $size += $file['size'];
}

if ($size > $max_combined_size*1024) {
  .. Do your stuff
}

array\u sum()
仅适用于一维数组
array\u sum()
如果您有多个文件的多个表单输入,则可以使用,因此必须使用
。您可能不会得到错误,但也不会得到好的结果,因为您只是尝试对文件的所有属性(如名称、类型等)求和。所以这个答案不是很有帮助。
array_sum($_FILES['file'])
$size = 0;
foreach ($_FILES as $file) {
  $size += $file['size'];
}

if ($size > $max_combined_size*1024) {
  .. Do your stuff
}