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

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")
	),
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Николай Каженкин
Сообщение не промодерировано, возможны ошибки и неточности.
Как можно обойти установку privateIp в методе MakeFileArray
$http->setPrivateIp(false);

Это мешает и не позволяет скачать файл в локальной сети из другого сервера.
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Наверх