GetFileField
Описание и параметры
string CForm::GetFileField( int answer_id, mixed width = "", string file_type = "IMAGE", int max_file_size = 0, mixed file_id = "", string add_to_file = "class=\"inputfile\"", string add_to_checkbox = "class=\"inputcheckbox\"", )
Возвращает HTML код поля для загрузки файла. Данное поле предназначено для ввода ответа типа "image" или "file".
Метод может использоваться как в форме создания нового результата, так и в форме редактирования существующего. Метод нестатический.
Примечание
Имя результирующего HTML поля будет сформировано по следующей маске:
form_file_type_answer_id
Параметры метода
| Параметр | Описание | С версии |
|---|---|---|
| answer_id | ID ответа. | |
| width | Ширина результирующего поля для ввода файла:
<input type="file" size="width" ...>Параметр необязательный. По умолчанию - "". |
|
| file_type | Тип файла, допустимы следующие значения:
|
|
| max_file_size | Максимальный размер загружаемого файла (в байтах). Параметр необязательный. По умолчанию - 0 (без ограничений). |
|
| file_id | ID загруженного (редактируемого) файла. Параметр необязательный. По умолчанию - "". |
|
| add_to_file | Произвольный HTML, который будет добавлен в HTML тег поля для загрузки файла:
<input type="file" add_to_file ...>Параметр необязательный. По умолчанию - "class=\"inputfile\"". |
3.3.10 |
| add_to_checkbox | Произвольный HTML, который будет добавлен в HTML тег флага удаления редактируемого файла:
<input type="checkbox" add_to_checkbox ...>Параметр необязательный. По умолчанию - "class=\"inputcheckbox\"". |
3.3.10 |
| PARAM_TEXT | Необязательный параметр. Удален с версии 4.0.4 | 3.3.10 |
Смотрите также
Примеры использования
<?
/*******************************************
Редактирование результата
*******************************************/
$RESULT_ID = 12; // ID результата
?>
<form action="" method="POST">
<table>
<tr>
<td>Фотография:</td>
<td><?
/************************************************************
Изображение
************************************************************/
// массив описывающий поле ответа
// содержит минимально-необходимые поля
$arAnswer = array(
"ID" => 607, // ID поля для ответа на вопрос "Фотография"
"FIELD_WIDTH" => 10, // ширина поля
"FIELD_PARAM" => "" // параметры поля
);
// попробуем получить параметры загруженного файла
if ($arFile = CFormResult::GetFileByAnswerID($RESULT_ID, $arAnswer["ID"])):
// если файл был получен то
if (intval($arFile["USER_FILE_ID"])>0):
// если это изображение то
if ($arFile["USER_FILE_IS_IMAGE"]=="Y") :
// выведем изображение
echo CFile::ShowImage(
$arFile["USER_FILE_ID"],
0,
0,
"border=0",
"",
true
);
endif;
echo "<br><br>";
endif;
endif;
// выведем поле для ввода файла
echo CForm::GetFileField(
$arAnswer["ID"],
$arAnswer["FIELD_WIDTH"],
"IMAGE",
0, // максимальный размер файла не ограничен
$arFile["USER_FILE_ID"],
$arAnswer["FIELD_PARAM"]);
?></td>
</tr>
<tr>
<td>Резюме:</td>
<td><?
/************************************************************
Произвольный файл
************************************************************/
// массив описывающий поле ответа
// содержит минимально-необходимые поля
$arAnswer = array(
"ID" => 610, // ID поля для ответа на вопрос "Резюме"
"FIELD_WIDTH" => 10, // ширина поля
"FIELD_PARAM" => "" // параметры поля
);
// попробуем получить параметры загруженного файла
if ($arFile = CFormResult::GetFileByAnswerID($RESULT_ID, $arAnswer["ID"])):
// если файл был получен то
if (intval($arFile["USER_FILE_ID"])>0):
// выведем информацию о файле
?>
<a title="Просмотр файла" target="_blank" class="tablebodylink" href="/bitrix/tools/form_show_file.php?rid=<?=$result_id?>&hash=<?echo $arFile["USER_FILE_HASH"]?>〈=<?=LANGUAGE_ID?>"><?=htmlspecialchars($arFile["USER_FILE_NAME"])?></a>
(<?
$a = array("b", "Kb", "Mb", "Gb");
$pos = 0;
$size = $arFile["USER_FILE_SIZE"];
while($size>=1024) {$size /= 1024; $pos++;}
echo round($size,2)." ".$a[$pos];
?>)
[ <a title="<?echo str_replace("#FILE_NAME#", $arFile["USER_FILE_NAME"], "Скачать")?>" class="tablebodylink" href="/bitrix/tools/form_show_file.php?rid=<?=$result_id?>&hash=<?echo $arFile["USER_FILE_HASH"]?>〈=<?=LANGUAGE_ID?>&action=download">Скачать</a> ]
<br><br>
<?
endif;
endif;
// выведем поле для ввода файла
echo CForm::GetFileField(
$arAnswer["ID"],
$arAnswer["FIELD_WIDTH"],
"FILE",
0, // максимальный размер файла не ограничен
$arFile["USER_FILE_ID"],
$arAnswer["FIELD_PARAM"]);
?></td>
</tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025