file Alt ←

Конструктор ::load

Загрузка файла с диска или HTTP-сервера.

^file::load[формат;имя_файла]
^file::load[формат;имя_файла;опции_загрузки]
^file::load[формат;имя_файла;новое_имя_файла]
^file::load[формат;имя_файла;новое_имя_файла;опции_загрузки]

Загружает файл с диска или HTTP-сервера.

Формат — формат представления загружаемого файла. Может быть text (текстовым) или binary (двоичным). Различие между этими типами заключается в разных символах переноса строк. Для PC эти символы 0D 0A. При использовании формата text при загрузке файла символ 0D будет отброшен за ненадобностью, при записи методом save — будет добавлен.

имя файла — имя файла с путем или URL файла на HTTP-сервере.

Необходимо иметь в виду, что, если в конструкторе задан параметр новое имя файла, его значение будет присвоено полю name. Этот параметр удобно задействовать при использовании метода mail:send для передачи файла под нужным именем.

опции загрузки — см. «Приложение 1. Пути к файлам и каталогам, работа с HTTP-серверами».

Если файл был загружен с HTTP-сервера, поля заголовков HTTP-ответа в верхнем регистре доступны как поля объекта класса file. Также доступно поле tables — это хеш, ключами которого являются поля-заголовки HTTP-ответа в верхнем регистре, а значениями — таблицы с единственным столбцом value, содержащим все значения одноименных полей HTTP-ответа. Пришедшие cookies помещаются в поле cookies в виде таблицы со столбцами: name, value, expires, max-age, domain, path, HTTPonly и secure. [3.4.2]

Пример загрузки файла с диска

$f[^file::load[binary;article.txt]]
Файл с именем $f.name имеет размер $f.size и содержит текст:<br>
$f.text

Выведет размер, имя и текст файла.

Пример загрузки файла с HTTP-сервера

$file[^file::load[text;http://www.parser.ru;
   $.timeout(5)
]]
Программное обеспечение сервера: $file.SERVER
<hr>
<pre>$file.text</pre>