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

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