Загрузка...

4.09. Поле Файл

Поле позволяет пользователям загружать файлы. Доступ к загруженным файлам предоставляется в полном соответствии с правилами доступа к документам, то есть - нет доступа к документу, нет доступа и к любому из файлов, загруженных в любое файловое поле этого документа. Если файл загружен в настроечное поле, то доступ к такому файлу предоставляется для любого пользователя. 

Администратору доступны следующие настройки поля:

  • Предварительный просмотр. Поле в режиме просмотра отображает загруженные файлы в виде их названий с гиперссылками, при нажатии на которые загружаются сами файлы. Для изображений (PNG, GIF, JPG, JPEG) можно настроить отображение более наглядным, показывая их миниатюры (предварительный просмотр). Размер этих миниатюр администратор может определит самостоятельно, а также убрать ссылку (то есть можно будет увидеть изображение на странице документа в том размере, который настроит администратор без возможности нажатия на него и получения того же изображения в оригинальном размере).
  • Максимальный размер загружаемого файла. Указывается в килобайтах, 0 или пустота означают отсутствие ограничений на уровне системы (они есть на уровне PHP, см. параметры upload_max_filesize и post_max_size в php.ini).
  • Максимальное количество загружаемых файлов. 0 или пустота - сколько угодно, любая цифра - максимальное количество того, что пользователь сможет загрузить в данное поле документа.
  • Разделитель между файлами. Если файлов несколько, то, по умолчанию, они перечисляются через запятую. Администратор может изменить запятую на, к примеру, HTML-тег , чтобы каждый файл отображался на новой строке.
  • Дополнительные параметры, расположенные на вкладке Дополнительное:     Разрешенные для загрузки расширения файлов  и   Разрешенные для загрузки форматы файлов (MIME) Эти два параметра представляют из собой список расширения и MIME-форматов файлов, которые могут быть загружены пользователем - устанавливая галочку возле соответствующего расширения или формата администратор тем самым разрешает загрузку. Списки не исчерпывающие, при необходимости их можно дополнить. Для этого нужно открыть меню Администрирование / Модули, выбрать в списке типов расширения Поля, отыскать поле Файл и нажать на кнопку с карандашом возле него. Возможные варианты расширения и типов перечисляются через запятую.

Методы поля для записи данных

  • Добавить к содержимому поля. Метод позволяет дополнить текущее поле файлами из другого поля.
  • Удалить из содержимого поля. При помощи этого метода можно удалить из текущего поля файлы, которые находятся в другом поле. В роли другого поля может выступать любое поле с идентификаторами файлов, перечисленных через запятую (то есть помимо файлового поля можно использовать строковое, текстовое и т.д.). Определение файлов для удаления из поля производится по их названию и размеру.
  • Добавить файл из файловой системы. При помощи этого метода можно передать полю полный путь к файлу в файловой системе сервера, чтобы поле загрузило этот файл. Например, /var/home/delta/file.txt, если сервер работает на Linux или C:\PATH\file.txt, если сервер работает на Windows.

Методы для получения данных из поля

Поле хранит данные в виде уникальных идентификаторов загруженных файлов. Поэтому, если просто записать файловое поле в строку, то получится аналогичная запись: f957c7f3-6876-11e8-a2ab-201a06f86b88, f957c7f3-6876-11e8-a2ab-201a06f86b89. При помощи методов поля можно:

  • Получить URL первого файла в поле. Метод позволяет получить URL первого файла в поле.
  • Получить файлы с гиперссылками. Возвращает названия файлов в виде гиперссылок на их скачивание с разделителем, указанным администратором в параметре "Разделитель между файлами".
  • Получить количество файлов в поле. Возвращает число, соответствующих количеству файлов, загруженных в данное поле документа пользователем.
  • Получить содержимое файлов в поле. Метод имеет смысл использовать для текстовых файлов, он позволяет считать их содержимое, скажем, в поле Текст.
  • Получить полный путь каждого файла в поле. Физически файлы, загружаемые в поле, хранятся в файловой системе сервера. Этот метод позволяет получить полный путь к каждому файлу, загруженному в поле.