zwj68/upload
Composer 安装命令:
composer require zwj68/upload
包简介
The file upload extension for the Flarum forum with insane intelligence.
README 文档
README
An extension that handles file uploads intelligently for your forum.
Features
- For images:
- Auto watermarks.
- Auto resizing.
- Mime type to upload adapter mapping.
- Whitelisting mime types.
- Uploading on different storage services (local, imgur, AWS S3 for instance).
- Drag and drop uploads.
- Uploading multiple files at once (button and drag and drop both support this).
- Easily extendable, the extension heavily relies on Events.
- Extender interface to disable or force particular adapters (see below)
Installation
Install manually:
composer require fof/upload:"*"
Updating
composer require fof/upload:"*"
php flarum migrate
php flarum cache:clear
Configuration
Enable the extension, a new tab will appear on the left hand side. This separate settings page allows you to further configure the extension.
Make sure you configure the upload permission on the permissions page as well.
Mimetype regular expression
Regular expressions allow you a lot of freedom, but they are also very difficult to understand. Here are some pointers, but feel free to ask for help on the official Flarum forums.
In case you want to allow all regular file types including video, music, compressed files and images, use this:
(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))
A mimetype consists of a primary and secondary type. The primary type can be image, video and application for instance.
The secondary is like a more detailed specification, eg png, pdf etc. These two are divided by a /, in regex you have to escape this character by using: \/.
Disable or Force a particular adapter
In some circumstances, you may wish to either disable an adapter, or force the use of one. This is set in your root extend.php file.
For example, you may disable imgur
(new FoF\Upload\Extend\Adapters())
->disable('imgur'),
Chaining of multiple commands is also possible:
(new FoF\Upload\Extend\Adapters())
->disable('imgur')
->disable('aws-s3'),
You may also force an adapter:
(new FoF\Upload\Extend\Adapters())
->force('imgur'),
Adapter names currently available:
localimgurqiniuaws-s3
Commands
MapFilesCommand
Using php flarum fof:upload you have a powerful tool in your hands to map uploads to posts and
clean up unused files. To do so there are two steps to take into consideration:
- Mapping (
--map) allows you to look through posts to identify whether which uploaded files have been used inside any posts, and store this information - Clean up (
--cleanup,--cleanup-before=yyyy-mm-dd) grants you to ability to remove files that have been uploaded before the given time and haven't been mapped to any (existing) posts.
The intent of this command stems from the original concept of understand what uploads are used where and to allow removal of unused, stale files. You can run this command manually or as a cronjob.
Example 1; only mapping files:
php flarum fof:upload --map
Example 2; map and clean up
php flarum fof:upload --map --cleanup --cleanup-before="a month ago"
Once you're happy with how the command operates, you can append the flag --force, which removes the need to confirm
the action:
php flarum fof:upload --map --cleanup --cleanup-before="last year" --force
The following (to resume) will happen when this command is put into a recurring cronjob:
- based on the interval of the cronjob (daily, weekly or however)
- the command will go over all uploads to discover in which posts they have been used
- delete those files that have been uploaded "last year" that have not been found in posts
FAQ
- AWS S3: read the AWS S3 configuration page.
- Adding Templates: read the Custom Templates wiki page.
- Upgrading from flagrow/upload: read the wiki article.
Links
An extension by FriendsOfFlarum
zwj68/upload 适用场景与选型建议
zwj68/upload 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 12 月 22 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「image」 「file」 「upload」 「document」 「video」 「uploader」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 zwj68/upload 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 zwj68/upload 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 zwj68/upload 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
The file manager intended for using Laravel with CKEditor / TinyMCE / Colorbox
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
The Yii2 extension uses jQuery PrettyPhoto and OwlCarousel js and makes image galary from php array of structure defined.
Laravel Media Popup to upload/view the files
PMVC Plugin for File information
统计信息
- 总下载量: 1
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 17
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-12-22