# -v- начать передачу от пользователя

open (UPL, M $filedest") || &AbortScript("Невозможно открыть $filedest: $ !") ;

мой размер $bytes_in/$;

в то время как ($bytes_in=read($filest,$buff,2096)) { # CGI

$размер += $bytes_in; # отслеживать отладочную информацию и информацию о пользователе

бинмод UPL; # обеспечить бинарный формат (Win32, не действует в *nix)

распечатать UPL $buff;

}

закрыть (УПЛ); # завершена попытка загрузить файл

# проверить и сообщить пользователю

если (!(статистика $filedest)[7] > 0) {

разорвать связь ($ filedest); # убить пустой файл с неудачной загрузкой

&AbortScript("Не удалось загрузить файл: $filename");

}

Распечатать

}

ж

$filename успешно загружен. Спасибо.";

# выполнять постобработку, такую как журналы, вставка ссылок на вики-страницу

Процедура сначала позволяет пользователю выбирать файлы из локальной системы в файле на стороне клиента.

селектор (первый запрос CGI), а затем управляет передачей с помощью другого CGI-запроса.

вызов модуля. Команда binmode нужна только в том случае, если скрипт работает в

среде, такой как Windows, где текстовые файлы отличаются от двоичных

разделители строк, отличные от простого перевода строки (\r\n вместо \n).

Образец может быть дополнен записями в журнале, дополнительной обратной связью с пользователем и

вставка любых ссылок и информации на вики-страницу, которую

пользователь инициировал загрузку из.


ОСОБЫЕ ВОЗМОЖНОСТИ

263

СТАНДАРТНАЯ ВИКИ?

Из-за большого количества клонов и портов Wiki и количества

возможны варианты настройки или расширения, может возникнуть вопрос: может ли стандарт или

базу, Вики сделать? Предполагая, что ответ да, каковы некоторые основные

возможности, которые нужны разработчикам вики в своих копиях вики?

Эти проблемы волнуют многих разработчиков вики, в том числе

авторы. У этой книги двойная роль. Частично он показывает вам, как расширять и изменять

wiki, но там также обсуждаются некоторые причины, по которым общая база — это хорошо и

как может выглядеть эта база.

Это некоторые основные возможности вики и их текущее состояние.

• Возможность настроить работу вики, используя предпочитаемый язык,

чтобы он хорошо подходил для конкретных задач. Настройка проста, но не

обязательно на «предпочтительном языке». Одна мысль поднять

настройка из кода реализации и сделать его чем-то большим

аннотация: «этот шаблон» дает «тот результат». не понятно как это будет

лучше всего выполнено.

• Переносимость на ряд различных ограниченных платформ — или, по крайней мере,

основные части. Эта переносимость зависит от языка реализации. Перл

является «самым» переносимым по языковой и серверной поддержке. Скрип вики

подходит к этому вопросу с точки зрения предположения о существовании

виртуальная машина (ВМ) для любой платформы для запуска Squeak Smalltalk. С этим,

Swiki полностью переносимы.

• Включение изменений страницы различными способами (замена старой страницы,

слияние, добавление и т. д.).

Эти альтернативы частично рассматриваются вариантами, обсуждаемыми в этой книге.

В разных ситуациях требуются разные параметры, поэтому параметры должны быть параметром

каким-то образом выбираемым, что позволяет переопределять контекст.