fof/upload

Flarum 论坛的文件上传扩展,具有超凡智能。

资助包维护!
网站

安装次数: 90,106

依赖项: 10

建议者: 1

安全: 1

星标: 177

关注者: 9

分支: 96

开放性问题: 50

类型:flarum-extension

1.5.5 2024-06-16 06:54 UTC

README

MIT license Latest Stable Version Total Downloads OpenCollective

一款智能处理论坛文件上传的扩展。

特性

  • 针对图片
    • 自动水印。
    • 自动调整大小。
  • 上传适配器与Mime类型的映射。
  • 白名单Mime类型。
  • 上传到不同的存储服务(例如本地、imgur、AWS S3)。
  • 拖放上传。
  • 一次性上传多个文件(按钮和拖放都支持此功能)。
  • 易于扩展,该扩展大量依赖事件。
  • 扩展器接口用于禁用或强制特定适配器(见下文)

安装

手动安装

composer require fof/upload:"*"

更新

composer require fof/upload:"*"
php flarum migrate
php flarum cache:clear

配置

启用扩展,左侧将出现一个新标签页。此单独设置页面允许您进一步配置扩展。

确保您还在权限页面上配置了上传权限。

Mime类型正则表达式

正则表达式提供了很多灵活性,但它们也很难以理解。以下是一些提示,但您可以在官方 Flarum 论坛上寻求帮助。

如果您想允许所有常规文件类型(包括视频、音乐、压缩文件和图片),请使用以下内容

(video\/(3gpp|mp4|mpeg|quicktime|webm))|(audio\/(aiff|midi|mpeg|mp4))|(image\/(gif|jpeg|png))|(application\/(x-(7z|rar|zip)-compressed|zip|arj|x-(bzip2|gzip|lha|stuffit|tar)|pdf))

Mime类型由主要类型和次要类型组成。主要类型可以是 imagevideoapplication 等。次要类型是一个更详细的规范,例如 pngpdf 等。这两个类型由一个 / 分隔,在正则表达式中,您需要通过使用 \/ 来转义此字符。

禁用或强制特定适配器

在某些情况下,您可能希望禁用适配器或强制使用特定适配器。这可以通过您的根 extend.php 文件设置。

例如,您可能要禁用 imgur

(new FoF\Upload\Extend\Adapters())
        ->disable('imgur'),

多个命令的链式调用也是可能的

(new FoF\Upload\Extend\Adapters())
        ->disable('imgur')
        ->disable('aws-s3'),

您也可以强制使用适配器

(new FoF\Upload\Extend\Adapters())
        ->force('imgur'),

当前可用的适配器名称

  • local
  • imgur
  • qiniu
  • aws-s3

命令

MapFilesCommand

使用 php flarum fof:upload,您手中将拥有一款强大的工具,可以将上传映射到帖子并清理未使用的文件。为此,需要考虑以下两个步骤

  • 映射(--map)允许您遍历帖子以确定哪些上传的文件已在任何帖子中使用,并存储此信息
  • 清理(--cleanup--cleanup-before=yyyy-mm-dd)允许您删除在指定时间之前上传且未映射到任何(现有)帖子中的文件。

此命令的目的是从原始概念中理解上传在哪里使用,并允许删除未使用的、过时的文件。您可以手动运行此命令或作为cron作业运行。

示例 1;仅映射文件

php flarum fof:upload --map

示例 2;映射并清理

php flarum fof:upload --map --cleanup --cleanup-before="a month ago"

一旦您对命令的运行方式满意,您可以追加标志 --force,这将删除确认操作的需要

php flarum fof:upload --map --cleanup --cleanup-before="last year" --force

以下(续)将在将此命令放入周期性cron作业时发生

  • 基于cron作业的间隔(每日、每周或任何其他间隔)
  • 该命令将遍历所有上传文件,以查找它们在哪些帖子中使用
  • 删除那些在帖子中未找到的、去年上传的文件

常见问题解答

链接

FriendsOfFlarum开发的扩展