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-2024, «1С-Битрикс», 2024