Note: PmWiki is distributed with uploads disabled by default. See Uploads Admin for information about how to enable and configure the upload feature.
PmWiki can be configured to allow authors to upload and attach files to pages. Each WikiGroup can have its own collection of named attachments that are shared among all pages in the group. To add or link to an attachment, an author edits a page to include the markup “
Attach:” followed by a name of an attachment (e.g., “
Attach:resume.pdf”). When the page is displayed, the
Attach: markup becomes one of the following:
- A link to the named attachment
- A link to a form whereby the author can specify a file to be uploaded and used as the new attachment
- If the attachment is an image file such as .gif, .jpg, or .png, then it is displayed as an image.
To prevent an image attachment from displaying as an image, place it in double brackets (e.g.,
To have a link to an attachment appear without the “
Attach:” at the beginning of the link, use
To link to attachments on another page or WikiGroup, use
To link to an uploaded image from another group, you need to refer to a page within another group, not just the group itself. Thus,
Attach:Group.SomePage/image_name.ext. Note, you must use the PageName, but that there is no requirement that the page actually exist.
Listing All Files For A Page
To list all files that have been uploaded to the current page, enter the markup:
This will list all files, file size and a link to download the file on the page.
Upload Form / Upload Replacement
One can go directly to the upload form by appending “?action=upload” to the URI for any page that has file uploads enabled by the Wiki Administrator. Replace a file by simply uploading a new version of the file with the same name. Be sure to clear your browser cache after replacing an upload. Otherwise, it may appear that the original upload is still on the server. If you put
local/config.php, the old versions of the same files are renamed and not removed.
Type and Size Restrictions
For security reasons, the upload feature is disabled when PmWiki is first installed; once enabled, uploads are generally restricted as to the types and sizes of files that may be uploaded to the server (see UploadsAdmin). PmWiki’s default configuration limits file sizes to 50 kilobytes and file extensions to common types such as “.gif”, “.jpg”, “.doc”, “.txt”, and “.pdf”. In addition, the administrator can configure the system to require an
upload password—see Passwords and PasswordsAdmin.
By default the upload allows the following extensions:
'gif','jpg','jpeg','png','bmp','ico','wbmp', # images
'mp3','au','wav', # audio
'mpg','mpeg','wmf','mov','qt','avi', # video
'zip','gz','tgz','tar','rpm','hqx', # archives
'doc','ppt','xls','exe','mdb', # MSOffice
'pdf','psd','ps','ai','eps', # Adobe
'htm','html','fla','swf', # web stuff
'txt','rtf','exe','tex','dvi','' # misc
At present uploaded files can only be deleted from the server by the wiki administrator. Any uploads-authorized user may over-write an existing file by uploading another of the same name and extension to the same location.
« Text formatting rules | DocumentationIndex | Tables »
Q How do I link to an uploaded file or image from another group?
Attach:Groupname./filename.ext . Note the extra dot after the group name.
Q When I upload a file, how do I make the link look like “file.doc” instead of “Attach:file.doc”?
Use parentheses, as in
[[(Attach:)file.doc]]. There is also a configuration change that can eliminate the
Attach: — see Cookbook:AttachLinks.
Q Why can’t I upload files of size more than 50kB to my newly installed PmWiki?
Out of the box PmWiki limits the size of files to be uploaded to 50kB. Add
$UploadMaxSize = 1000000; # limit upload file size to 1 megabyte
to your config.php to increase the limit to 1MB (for example). See UploadsAdmin
for how to further customize limits. Note that both PHP and webservers also place their own limits on the size of uploaded files.
Q Who does my upload exit unexpectedly with “Incomplete file received”?
You may be running out of space in a ‘scratch’ area, used either by PmWiki or by PHP. On *nix, check that you have sufficient free space in /tmp and /var/tmp.