Загрузка Файлов

также доступны в Deutsch, English, Français


1. Введение

Вы можете загружать файлы на вашу ваку (не забудьте поставить права записи каталогам file/global/ и file/perpage/). По умолчанию это могут делать лишь члены группы Admins (см. Права доступа), но это поведение можно изменить в файле конфигурации. Незарегистрированные пользователи загружать файлы не могут ни при каких обстоятельствах.

2. Описание Actions

2.1. upload

  • Форма для загрузки файла на данную страницу или в глобальное пространство
  • Вызов: {{upload [global=1] [maxsize=200] [hide_description=1]}}
  • Параметры:
    • global — флаг того, что загрузка будет безусловно в глобальное пространство
    • maxsize — принудительно ограничивает макс. размер (должно быть меньше, чем в конфиге)
    • hide_description — не показывать текстовое поле "описание", остаётся только поле для файла

2.2. files

  • Форма для загрузки файла на данную страницу или в глобальное пространство
  • Вызов: {{files [page="PageName" or global=1] [order="time|FILENAME|size|size_desc|ext"] [owner="UserName"] [picture=1] [nomark=1]}}
  • Параметры:
    • первый параметр — имя страницы, для которой выводить список файлов. Если global=1, то выводится список глобального пространства
    • order — как упорядочивать, соответственно, по времени, имени, размеру, размеру-в-обратном-порядке, расширению
    • owner — показать файлы, закачанные только этим пользователем
    • picture — для картинок вместо ссылок показывать сами картинки — что-то типа галереи

3. Синтаксис ссылки на файл

3.1. URL syntax

  • http://example.com/file/global/archive.zip — глобальное пространство
  • http://example.com/ToDo/Upload/file?get=archive.zip — файл, привязанный к конкретной странице
    • при этом filesфиксировано и без реврайт-мода выглядит как:
    • http://example.com/?page=ToDo/Upload/file&get=archive.zip

3.2. Wacko syntax

  • file:archive.zip – ищет в глобальном и в текущем хранилище
  • file:/archive.zip – только в глобальном
  • file:!/archive.zip
  • file:/Subpage/archive.zip

4. Настройки инсталляции

4.1. Настройки constants.php

constants.php


<?php
...
define('UPLOAD_GLOBAL_DIR',                'file/global');
define('UPLOAD_PER_PAGE_DIR',            'file/perpage');
define('UPLOAD_BACKUP_DIR',                'file/backup');
...
?>


  • UPLOAD_GLOBAL_DIR — где размещаются публичные файлы
  • UPLOAD_PER_PAGE_DIR — где размещаются непубличные файлы, привязанные к конкретным страницам

4.2. Настройки config.php


  • upload = false, true, "admins" — кто может загружать. Анонимы не могут загружать никогда
  • upload_images_only — если установлено, то не даёт загружать что-то кроме картинок. Картинки определяет с помощью GD 
  • upload_max_size — максимально допустимый размер файла, в Кб
  • upload_quota_per_user — сколько quota может загрузить один пользователь (если не установлено, то сколько угодно)