Документация для разработчиков
Темная тема

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 Тип файла, допустимы следующие значения:
  • IMAGE - изображение;
  • FILE - произвольный файл.
Параметр необязательный. По умолчанию - "IMAGE" (изображение).
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>
					&nbsp;
					(<?
					$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];
					?>)
					&nbsp;&nbsp;
					[&nbsp;<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>&nbsp;]
					<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