See also: Uploads, Uploads admin.
$EnableUpload
- The upload.php script is automatically included from stdconfig.php if the
$EnableUpload
variable is true in config.php. Note that one may still need to set an upload password before users can upload (see UploadsAdmin).
$UploadDir
- The directory where uploads are to be stored. Defaults to uploads/ in the pmwiki directory, but can be set to any location on the server. This directory must be writable by the webserver process if uploading is to occur.
$UploadUrlFmt
- The url of the directory given by
$UploadDir
. By default, $UploadUrlFmt
is derived from $PubDirUrl
and $UploadDir
.
$IMapLinkFmt
['Attach:']
The format of the upload link displayed when an attachment is present. No default is set.
$LinkUploadCreateFmt
- The format of the upload link displayed when an attachment not present. Defaults to
<a class='createlinktext' href='\$LinkUpload'>\$LinkText</a>
<a class='createlink' href='\$LinkUpload'> Δ</a>");
$UploadPrefixFmt
- Sets the prefix for uploaded files to allow attachments to be organized other than by groups. Defaults to
'/$Group'
(uploads are organized per-group), but can be set to other values for sitewide or per-page attachments.
$UploadPrefixFmt
= '/$Group/$Name'; # per-page attachments
$UploadPrefixFmt
= ''; # sitewide attachments
-
- It is recommended to have the
$UploadPrefixFmt
variable defined in config.php, the same for all pages in the wiki, and not in group/page local configuration files. Otherwise you will be unable to link to attachments in other wikigroups.
$EnableDirectDownload
- When set to 1 (the default), links to attachments bypass PmWiki and come directly from the webserver. Setting
$EnableDirectDownload
=0; causes requests for attachments to be obtained via ?action=download
. This allows PmWiki to protect attachments using a page's read permissions, but also increases the load on the server. Don't forget to protect your directory /uploads/ with a .htaccess file (Order Deny,Allow / Deny from all).
$EnableUploadGroupAuth
- Set
$EnableUploadGroupAuth
= 1;
to authenticate downloads with the group password. This could be used together with $EnableDirectDownload
= 0;
.
$EnableUploadVersions
- When set to 1 (default is 0), uploading a file to a location where a file of the same name already exists causes the old version to be renamed to
file.ext,timestamp
(instead of being overwritten). timestamp
is a Unix-style timestamp.
$EnableUploadOverwrite
- When set to 1 (the default), determines if overwriting previously uploaded files is allowed.
$UploadNameChars
- The set of characters allowed in upload names. Defaults to
"-\w. "
, which means alphanumerics, hyphens, underscores, dots, and spaces can be used in upload names, and everything else will be stripped.
-
$UploadNameChars
= "-\\w. !"; # allow dash, letters, digits, dots, spaces and exclamations
-
$UploadNameChars
= "-\\w. \\x80-\\xff"; # allow Unicode
-
- Note: Not all characters can be used in file names, because of various limitations in protocols or operating systems, file systems and server software, or conflict with PmWiki markup:
+?:@#%!=/
have special meanings in URL addresses,
|\^`[]?:@#%/
may be impossible to save on some systems,
<>"|\^`(){}[]#%
may conflict with PmWiki markups,
-
- so it is strongly recommended to only enable those if you know what you're doing.
$MakeUploadNamePatterns
- An array of regular expression replacements that is used to normalize the filename of an attached file. First, everything but
$UploadNameChars
will be stripped, then the file extension will be converted to lowercase. Administrators can override these replacements with a custom definition (the full array needs to be defined).
$UploadDirQuota
- Overall size limit for all uploads.
$UploadDirQuota = 100*1024; # limit uploads to 100KiB
$UploadDirQuota = 1000*1024; # limit uploads to 1000KiB
$UploadDirQuota = 1024*1024; # limit uploads to 1MiB
$UploadDirQuota = 25*1024*1024; # limit uploads to 25MiB
$UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB
$UploadPrefixQuota
- Overall size limit for one directory containing uploads. This directory is usually
uploads/GroupName
(one for every WikiGroup), or uploads/Group/PageName
(one for every page), depending on the variable $UploadPrefixFmt
.
$UploadMaxSize
- Maximum size for uploading files, 50000 octets (bytes) by default.
$UploadExtSize
- Maximum size per extension, overriding the default in
$UploadMaxSize
.
$UploadExtSize['zip'] = 2*1024*1024; # allow up to 2MiB for zip files