wanze / fieldtype-secure-file
ProcessWire 字段类型,用于将文件存储在自定义位置,例如网站根目录外。
dev-master
2018-03-22 22:08 UTC
Requires
- php: >=5.3.0
- hari/pw-module: ~1.0
This package is auto-updated.
Last update: 2024-09-05 18:44:00 UTC
README
ProcessWire 字段类型,用于将文件存储在网站根目录外的自定义位置。此模块主要用于需要存储不应直接从网络上访问的敏感数据的情况。通常,ProcessWire 将所有文件存储在 /site/assets/files
下。可以通过设置 $config->pagefileSecure = true
来限制对这些文件的直接URL访问。但仍需确保模板权限设置正确。
安装
请参阅以下指南: http://modules.processwire.com/install-uninstall/
配置
安装此模块后,您可以在编辑字段时创建一个新的 SecureFile
类型的字段。在编辑字段时,在“详细信息”部分下进行配置。
- 存储位置 输入存储文件的外部路径,该路径位于网站根目录之外。您需要手动创建该目录。同时,请确保运行Web服务器的用户具有写入权限。
- 允许下载安全文件的角色 在此处选择角色的用户能够通过API请求下载文件。
- 在管理员中允许下载 如果选中,则具有上述选中角色的用户在编辑页面时可以下载文件。
API
如果您想下载安全文件,可以调用 PagefileSecure::download()
。此方法还确保根据权限配置,当前用户有权下载文件。
示例
$secureFile = $page->secureFiles->first(); $secureFile->isDownloadable(); // Returns true if the current user is allowed to download $secureFile->download(); // Performs the check above and delivers the file via the wireSendFile() function