radotch / cakephp-upload
CakePHP的上传插件
1.0.0
2019-02-28 18:25 UTC
Requires
- cakephp/cakephp: ^3.7
This package is auto-updated.
Last update: 2024-09-15 22:27:13 UTC
README
注意
你好
我开发这个插件是为了满足自己的需求。主要任务是在本地文件系统上移动上传的文件。
如果你有这个需求,可以免费使用这个插件。
描述
该插件自动处理上传文件的过程,配置简单。
要求
- CakePHP >= 3.7
- PHP >= 7.0 / 推荐版本 7.2
安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方式是
composer require radotch/cakephp-upload
使用方法
行为
为了在服务器上自动处理上传文件的过程,请将 Uploadable Behavior 添加到 Model 的 initialize() 钩子中
public function initialize($config = [])
{
// Other code
$this->addBehavior('CakeUpload.Uploadable', []);
}
行为配置
您必须配置所有包含上传文件的字段。数量没有限制,但不要忘记服务器、表单等其他外部限制。
public function initialize($config)
{
// Other code
$this->addBehavior('CakeUpload.Uploadable', [
'field-1',
'field-2',
'field-3' => [
'path' => 'path/to/move/uploaded/file'
],
e.t.c.
]);
}
配置字段的设置如下
- path - 相对于 CakePHP webroot 目录的相对路径。如果没有设置,则使用默认路径。
行为功能
- 在保存之前再次检查配置字段是否存在错误。
- 如果发现任何错误,将其应用于实体并停止上传和保存过程。
- 在本地文件系统中移动上传的文件。
- 在编辑时,如果实体字段已更改,则删除旧文件或如果文件名相同则替换。
- 删除实体时删除所有附件文件。
注意:仅支持单个上传文件。不支持多个文件。
混入方法
- getPath(string $field, array $settings = []) - 获取配置路径或默认路径
- setPath(string $field, string $path) - 允许动态设置路径(相对于 webroot)。