file Alt ←

Поля

Объекта класса file.

Поле name. Имя файла

$файл.name

Поле содержит имя файла. Объект класса file имеет поле name, если пользователь закачал файл через поле формы. Также в конструкторе file::load может быть указано альтернативное имя файла.

Поле size. Размер файла

$файл.size

Поле содержит размер файла в байтах.

Поле text. Текст файла

$файл.text

Поле содержит текст файла. Использование этого поля позволяет выводить на странице содержимое текстовых файлов или результатов работы file::cgi и file::exec.

Автоматическая нормализация переводов строк делается для текстовых файлов (mode=text), но не делается для бинарных (mode=binary).

Чтобы сделать нормализацию переводов строк для бинарных файлов, например тех, которые были получены из form, необходимо воспользоваться следующей конструкцией:

$f[^file::create[$form:file;$.mode[text]]
$f.text

Дополнительная информация о файле:

$файл.cdate — дата создания;
$файл.mdate — дата изменения;
$файл.adate — дата последнего обращения к файлу.

Поля доступны, если объект получен конструкторами file::stat или file::load путем загрузки локального файла [3.3.0]

Поле stderr. Текст ошибки выполнения программы

$файл.stderr

При выполнении file::cgi и file::exec сюда попадает текст из стандартного потока ошибок программы.

Поле status. Статус получения файла

$файл.status

При выполнении file::cgi и file::exec в поле status попадает статус выполнения программы (0 = успех).
При выполнении file::load с HTTP-сервера, сюда попадает статус выполнения HTTP-запроса (200 = успех).

Поле mode. Формат файла

$файл.mode

Может иметь значение text или binary. [3.4.0]

Поле 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>]