<< Layout Variables | PmWiki.Variables | Link Variables >>
When dealing with file or path variables, one has to recognize the difference between working with urls and files on disk. For example:
- The include() statements are used to include other files (on disk) into the currently running PmWiki script. Thus they require paths on the server's filesystem.
- The
$ScriptUrl
and $PubDirUrl
variables are used to tell a browser, connecting via the webserver, how to execute the pmwiki script ($ScriptUrl
) and the base url for getting files from PmWiki's pub/ directory ($PubDirUrl
).
Note that a browser needs a url (http://www.example.com/pmwiki/pub) while an include statement requires a server file path ($FarmD
/scripts/something.php).
$ScriptUrl
- is the url that you want people's browsers to use when accessing PmWiki, either as a field or farm. It's used whenever PmWiki needs to generate a link to another PmWiki page or action. PmWiki is usually fairly good about "guessing" the correct value for
$ScriptUrl
on its own, but sometimes an admin needs to set it explicitly because of url manipulations by the webserver (e.g., Cookbook:CleanUrls, mod_rewrite, bizarre PHP configurations, etc.).
$PubDirUrl
- is the url that refers to the
pub
directory. That directory contains all the files and subdirectories that must be directly accessible from a browser (e.g. CSS and HTML files). Most prominent here is the skins
subdirectory.
$FarmD
- The directory on the server where the farm is located (i.e., the directory containing the farm's copy of pmwiki.php and the scripts/ directory). This directory is automatically determined by pmwiki.php when it runs, and can be used to distinguish the farm's cookbook/ and pub/ subdirectories from a field's subdirectories.
$SkinDirUrl
- Set by scripts/skins.php to be the base url of the current skin's directory (i.e., within a 'pub/skins/' directory). This variable is typically used inside of a skin .tmpl file to provide access to .css files and graphic images associated with the skin.
$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.
See also