fof/upload
Flarum 论坛的文件上传扩展,具有超凡智能。
Requires
- php: ^8.0
- ext-json: *
- enshrined/svg-sanitize: ^0.15.4
- flarum/core: ^1.8.3
- guzzlehttp/guzzle: ^6.0 || ^7.0
- ramsey/uuid: ^3.5.2 || ^4
- softcreatr/php-mime-detector: ^3.0
Requires (Dev)
- blomstra/gdpr: @beta
- flarum/phpstan: *
- flarum/testing: ^1.0.0
- league/flysystem-aws-s3-v3: ^1.0
- overtrue/flysystem-qiniu: 1.0.4
Suggests
- league/flysystem-aws-s3-v3: Uploads to AWS S3 using API version 3.
- overtrue/flysystem-qiniu: Uploads to QiNiu using API.
Replaces
- dev-master
- 1.5.5
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.5.0-beta.2
- 1.5.0-beta.1
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.3-beta.3
- 1.3.3-beta.2
- 1.3.3-beta
- 1.3.2
- 1.3.1
- 1.3.0
- 1.3.0-beta.1
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.14.0
- 0.14.0-beta.1
- 0.14.0-beta
- 0.13.1
- 0.13.0
- 0.12.10
- 0.12.9
- 0.12.8
- 0.12.7
- 0.12.6
- 0.12.5
- 0.12.4
- 0.12.3
- 0.12.2
- 0.12.1
- 0.12.0
- 0.11.3
- 0.11.2
- 0.11.1
- 0.11
- 0.10.1
- 0.10.0
- 0.9.2
- 0.9.1
- 0.9.0
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.1
- 0.7.0
- 0.7.0-beta.2
- 0.7.0-beta.1
- 0.6.0
- 0.6.0-beta
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.13
- 0.4.12
- 0.4.11
- 0.4.10
- 0.4.9
- 0.4.8
- 0.4.7
- 0.4.6
- 0.4.5
- 0.4.4
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.8
- 0.3.7
- 0.3.6
- 0.3.5
- 0.3.4
- 0.3.3
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-dependabot/npm_and_yarn/js/micromatch-4.0.8
- dev-dependabot/npm_and_yarn/js/webpack-5.94.0
- dev-cw/texteditor-reusability
- dev-dk/image-in-private-discussions
- dev-cw/mime-inspector
- dev-dk/edit-modal
- dev-dw/fix-upload-button-size
- dev-beta13
- dev-dk/beta-14
This package is auto-updated.
Last update: 2024-09-12 01:54:28 UTC
README
一款智能处理论坛文件上传的扩展。
特性
- 针对图片
- 自动水印。
- 自动调整大小。
- 上传适配器与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类型由主要类型和次要类型组成。主要类型可以是 image
、video
和 application
等。次要类型是一个更详细的规范,例如 png
、pdf
等。这两个类型由一个 /
分隔,在正则表达式中,您需要通过使用 \/
来转义此字符。
禁用或强制特定适配器
在某些情况下,您可能希望禁用适配器或强制使用特定适配器。这可以通过您的根 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作业的间隔(每日、每周或任何其他间隔)
- 该命令将遍历所有上传文件,以查找它们在哪些帖子中使用
- 删除那些在帖子中未找到的、去年上传的文件
常见问题解答
- AWS S3:阅读AWS S3配置页面。
- 添加模板:阅读自定义模板wiki页面。
- 从flagrow/upload升级:阅读wiki文章。
链接
由FriendsOfFlarum开发的扩展