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

MakeFileArray

Описание и параметры

array CFile::MakeFileArray(
	mixed path,
	mixed mime_type = false,
	skipInternal = false,
	string external_id = ""
)

Метод формирует массив описывающий файл. Структура массива аналогична структуре массива $_FILES[имя] (или $HTTP_POST_FILES[имя]). Данный массив может быть использован в методах SaveFile, CheckFile, CheckImageFile. Структура возвращаемого массива:

Array(
	"name" => "название файла",
	"size" => "размер",
	"tmp_name" => "временный путь на сервере",
	"type" => "тип загружаемого файла"
)

Статический метод.

Параметры

ПараметрОписание С версии
path одно из значений:
  • ID файла
  • абсолютный путь к файлу
  • URL к файлу лежащем на другом сайте.
mime_type MIME тип файла (например, "image/gif").
Необязательный. По умолчанию - "false" - MIME тип файла будет определён автоматически.
skipInternal Необязательный. По умолчанию - "false".12.5.7
external_id Необязательный. Внешний идентификатор.

Примеры использования

<?
$arFile = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/screen.gif");
$arFile["MODULE_ID"] = "support";
$arFields = array(
	"CREATED_MODULE_NAME"   => "mail",
	"MODIFIED_MODULE_NAME"  => "mail",
	"OWNER_SID"             => "user@mail.ru",
	"SOURCE_SID"            => "email",
	"MESSAGE_AUTHOR_SID"    => "user@mail.ru",
	"MESSAGE_SOURCE_SID"    => "email",
	"TITLE"                 => "title",
	"MESSAGE"               => "message"
	"FILES"                 => array($arFile)
);
//$TICKET_ID = 866;
$NEW_TICKET_ID = CTicket::Set($arFields, $MESSAGE_ID, $TICKET_ID, "N");
?>

Как прикреплять к автоматической рассылке файл. С помощью события BeforePostingSendMail и метод CPosting::SaveFile добавить файл к выпуску. В шаблоне news (идет по умолчанию) есть код "return array". В этот массив надо добавить элемент FILES.

return array(
	"SUBJECT"=>$SUBSCRIBE_TEMPLATE_RUBRIC["NAME"],
	"BODY_TYPE"=>"html",
	"CHARSET"=>"Windows-1251",
	"DIRECT_SEND"=>"Y",
	"FROM_FIELD"=>$SUBSCRIBE_TEMPLATE_RUBRIC["FROM_FIELD"],
	"GROUP_ID" => array(22,30),
	"FILES" => array(
		CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/upload/our_price.xls")
	),
);


© «Битрикс», 2001-2024, «1С-Битрикс», 2024