# -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 полностью переносимы.
• Включение изменений страницы различными способами (замена старой страницы,
слияние, добавление и т. д.).
Эти альтернативы частично рассматриваются вариантами, обсуждаемыми в этой книге.
В разных ситуациях требуются разные параметры, поэтому параметры должны быть параметром
каким-то образом выбираемым, что позволяет переопределять контекст.