Один из способов сделать это - иметь только один вход для загрузки файла и кнопку +
, которая вызывает функцию JavaScript, которая добавляет другой (и еще один ...) вход для загрузки файла.
Я не понимаю, почему дополнительные значения массива могут вызвать проблемы, просто используйте универсальную функцию загрузки, подобную следующей, и у вас все будет хорошо:
function Upload($source, $destination)
{
$result = array();
if (array_key_exists($source, $_FILES) === true)
{
$destination = str_replace('\\', '/', realpath($destination));
if (is_array($_FILES[$source]['error']) === true)
{
foreach ($_FILES[$source]['error'] as $key => $value)
{
if ($value == UPLOAD_ERR_OK)
{
if (move_uploaded_file($_FILES[$source]['tmp_name'][$key], $destination . basename($_FILES[$source]['name'][$key])) === true)
{
$result[] = $destination . basename($_FILES[$source]['name'][$key]);
}
}
}
}
else
{
if (move_uploaded_file($_FILES[$source]['tmp_name'], $destination . basename($_FILES[$source]['name'])) === true)
{
$result[] = $destination . basename($_FILES[$source]['name']);
}
}
}
return $result;
}