radotch / cakephp-upload

CakePHP的上传插件

安装次数: 4

依赖关系: 0

建议者: 0

安全性: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:cakephp-plugin

1.0.0 2019-02-28 18:25 UTC

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)。