Manages files and file directories for a page independent of a particular field.
Files in ProcessWire are always connected with a particular
Field on a
Page. This is typically
FieldtypeFile field or a
FieldtypeImage field, which exist as
values on the Page. Sometimes it is necessary to manage all files connected with a page as a
group, and this files manager class provides that. Likewise, something needs to manage the paths
and URLs where these files live, and that is where this files manager comes into play as well.
Summary of what PagefilesManager does
- Provides methods for movement of all files connected with a page as a group.
- Ensures that file directories for a page are created (and removed) when applicable.
- Manages secured vs. normal page file paths (see
- Manages extended vs. normal page file paths (see
How to access the Page files manager
The Page files manager can be accessed from any page’s
Page::filesManager() method or property.
// Example of getting a Page’s dedicated file path and URL $filesPath = $page->filesManager->path(); $filesURL = $page->filesManager->url();
Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the
PagefilesManager class also inherits all the methods and properties of: Wire.
|PagefilesManager::getFile(string $name) …||Pagefile, Pageimage or null||Get the Pagefile object containing the given filename.|
|PagefilesManager::getFiles()||array||Get an array of all published filenames on the current Page.|
|PagefilesManager::getTempPath()||string||Return a path where temporary files can be stored.|
|PagefilesManager::page||Page||Page that this files manager is for.|
|PagefilesManager::path()||string||Get the published path for files
Can also be used as property: PagefilesManager::path
|PagefilesManager::url()||string||Get the published URL for files
Can also be used as property: PagefilesManager::url
|PagefilesManager::copyFiles($toPath) …||int||Recursively copy all files managed by this PagefilesManager into a new path.|
|PagefilesManager::emptyAllPaths()||bool||Empties all file paths related to the Page, and removes the directories|
|PagefilesManager::emptyPath() …||bool||Empty out the published files (delete all of them)|
|PagefilesManager::moveFiles($toPath) …||int||Recursively move all files managed by this PagefilesManager into a new path.|
This methods are only useful for hooking and should not be called directly.
|PagefilesManager::save()||(nothing)||For hooks to listen to on page save action, for file-specific operations|
These methods are not connected with a particular instance and may only be called statically.
|PagefilesManager::dirToPageID(string $dir) …||int||Given a dir (URL or path) to a files directory, return the page ID associated with it.|
|PagefilesManager::hasFiles(Page $page) …||bool||Returns true if Page has a path and files, false if not.|
|PagefilesManager::hasPath(Page $page) …||bool||Returns true if Page has a files path that exists.|
Additional methods and properties
In addition to the methods and properties above, PagefilesManager also inherits the methods and properties of these classes: