Поля
name. Имя файла
$файл.name
Поле содержит имя файла. Объект класса file имеет поле name, если пользователь закачал файл через поле формы. Также в конструкторе file::load может быть указано альтернативное имя файла.
size. Размер файла
$файл.size
Поле содержит размер файла в байтах.
text. Текст файла
$файл.text
Поле содержит текст файла. Использование этого поля позволяет выводить на странице содержимое текстовых файлов или результатов работы file::cgi и file::exec.
Дополнительная информация о файле
$файл.cdate - дата создания;
$файл.mdate - дата изменения;
$файл.adate - дата последнего обращения к файлу.
Поля доступны если объект получен конструкторами file::stat или file::load путём загрузки локального файла
stderr. Текст ошибки выполнения программы
$файл.stderr
При выполнении file::cgi и file::exec сюда попадает текст из стандартного потока ошибок программы.
status. Статус получения файла
$файл.status
При выполнении file::cgi и file::exec в поле status попадает статус выполнения программы (0=успех).
При выполнении file::load с HTTP сервера, сюда попадает статус выполнения HTTP запроса (200=успех).
mode. Формат файла [3.4.0]
$файл.mode
Может иметь значение text или binary.
content-type. MIME-тип файла
$файл.content-type
Поле может содержать MIME-тип файла. При выполнении CGI-скрипта (см. file::cgi) MIME-тип может задаваться CGI-скриптом, полем заголовка ответа «content-type». При загрузке (см. file::load) или получении информации о файле (см. file::stat) MIME-тип определяется по таблице $MAIN:MIME-TYPES (см. «Конфигурационный метод»), если в таблице расширение имени файла найдено не будет, будет использован тип «application/octet-stream».
Поля HTTP-ответа
Если файл был загружен с HTTP-сервера, поля заголовков HTTP-ответа доступны, как поля объекта класса file:
$файл.ПОЛЕ_HTTP_ОТВЕТА (ЗАГЛАВНЫМИ БУКВАМИ)
Например: $файл.SERVER
Если один заголовок повторяется в ответе несколько раз, все его значения доступны в поле tables:
$.tables[
$.HTTP-ЗАГОЛОВОК[таблица значений, единственный столбец value]
]
Пример:
$f[^file::load[binary;http://www.parser.ru]]
^f.tables.foreach[key;value]{
$key=^value.menu{$value.value}[|]<br />
}