Как в bitrix:form реализовать множественную загрузку файлов
Как в bitrix:form реализовать множественную загрузку файлов
Объясняю и показываю примеры решений разных задач с которыми сталкивался и сталкиваюсь в процессе работы
📅 08 октября 2024
👁🗨 437
<? // /local/templates/s1/components/bitrix/form/guarantee/bitrix/form.result.new/.default/template.php ?>
<input type="file" multiple accept="image/*" name="files[]">
<? // /local/php_interface/init.php
AddEventHandler('form', 'onBeforeResultAdd', 'guaranteeFormAdd');
function guaranteeFormAdd($WEB_FORM_ID, &$arFields, &$arrVALUES) {
global $_FILES;
if ($WEB_FORM_ID == 2) { // ID веб-формы
if ($_FILES['files']) {
$files = [];
if (is_array($_FILES['files']['name'])) {
foreach ($_FILES['files'] as $key => $item) {
foreach ($item as $key2 => $item2) {
$files[$key2][$key] = $item2;
}
}
}else{
$files = [$_FILES['files']];
}
unset($_FILES['files']);
$key = 11; // Число с которого начинается ID свойств в настройках вопроса, например form_file_11
if (count($files) > 1) {
for ($i = 0; $i < count($files); $i++) {
$_FILES['form_file_' . $key++] = $files[$i];
}
} else {
$_FILES['form_file_' . $key] = $files[0];
}
}
}
}
?>