PHPackages                             0.1.x-dev/upload - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. 0.1.x-dev/upload

ActiveFlarum-extension[File &amp; Storage](/categories/file-storage)

0.1.x-dev/upload
================

The file upload extension for the Flarum forum with insane intelligence.

0.14.0(5y ago)111[6 PRs](https://github.com/StarsRivers/upload/pulls)MITPHP

Since Nov 3Pushed 3y agoCompare

[ Source](https://github.com/StarsRivers/upload)[ Packagist](https://packagist.org/packages/0.1.x-dev/upload)[ Docs](https://friendsofflarum.org)[ Fund](https://opencollective.com/fof/donate)[ RSS](/packages/01x-dev-upload/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (6)Versions (85)Used By (0)

Upload by FriendsOfFlarum
=========================

[](#upload-by-friendsofflarum)

[![MIT license](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](https://github.com/FriendsOfFlarum/upload/blob/master/LICENSE.md) [![Latest Stable Version](https://camo.githubusercontent.com/61961df5d2d6c20d6cd2c86bed60800f19ad10fb1949755304e581410e413d88/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f666f662f75706c6f61642e737667)](https://packagist.org/packages/fof/upload) [![Total Downloads](https://camo.githubusercontent.com/feb366ed3de14ecb3dff8a616f121fa4650da5eee4759b3ee341948a2afa5883/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f666f662f75706c6f61642e737667)](https://packagist.org/packages/fof/upload) [![OpenCollective](https://camo.githubusercontent.com/1903c197bb0307e60d6328653532b8a6b9890b898fbc92e314ab39d699491e74/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6f70656e636f6c6c6563746976652d666f662d626c75652e737667)](https://opencollective.com/fof/donate)

An extension that handles file uploads intelligently for your forum.

Features
--------

[](#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
------------

[](#installation)

Install manually with composer:

```
composer require fof/upload
```

Updating
--------

[](#updating)

```
composer require fof/upload
php flarum migrate
php flarum cache:clear
```

### Updating from Flagrow

[](#updating-from-flagrow)

This extension replaces [Flagrow Upload](https://packagist.org/packages/flagrow/upload).

To upgrade from the old extension to the new one:

- **Backup your data!** You should backup the database and the uploaded files.
- Make sure the latest version of Flagrow upload is installed and migrations have run:

```
composer require flagrow/upload
composer show flagrow/upload # You should see "versions: * 0.7.1" on the 4th line of output
php flarum migrate
```

- Disable the Upload extension in the admin panel.
- Run:

```
composer require fof/upload
```

Composer should let you know that `flagrow/upload` has been automatically removed.

- Enable the new extension in the admin panel.
- Your existing configuration and uploads meta will be migrated to FoF Upload automatically.
- The same file locations on the disk are used by FoF Upload, it means the files don't need to be moved.

Configuration
-------------

[](#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

[](#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

[](#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:

- `local`
- `imgur`
- `qiniu`
- `aws-s3`

FAQ
---

[](#faq)

- **AWS S3**: read the [AWS S3 configuration page](https://github.com/FriendsOfFlarum/upload/wiki/aws-s3).
- **Adding Templates**: read the [Custom Templates wiki page](https://github.com/FriendsOfFlarum/upload/wiki/Custom-Templates).

Links
-----

[](#links)

- [![OpenCollective](https://camo.githubusercontent.com/8ea53c451470d1a72789d650c77e2b22eee915f7fbf2cbeeeeaa25f47301efe2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646f6e6174652d667269656e64736f66666c6172756d2d3434414545353f7374796c653d666f722d7468652d6261646765266c6f676f3d6f70656e2d636f6c6c656374697665)](https://opencollective.com/fof/donate)
- [Flarum Discuss post](https://discuss.flarum.org/d/4154)
- [Source code on GitHub](https://github.com/FriendsOfFlarum/upload)
- [Report an issue](https://github.com/FriendsOfFlarum/upload/issues)
- [Download via Packagist](https://packagist.org/packages/fof/upload)

An extension by [FriendsOfFlarum](https://github.com/FriendsOfFlarum)

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 60.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Recently: every ~4 days

Total

74

Last Release

1873d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/170022816cdd20a78b255af4fb3dee9b4f3ea59cd8a690813dc7cc425dc2b9e2?d=identicon)[浩瀚星河](/maintainers/%E6%B5%A9%E7%80%9A%E6%98%9F%E6%B2%B3)

---

Top Contributors

[![luceos](https://avatars.githubusercontent.com/u/504687?v=4)](https://github.com/luceos "luceos (177 commits)")[![clarkwinkelmann](https://avatars.githubusercontent.com/u/5264300?v=4)](https://github.com/clarkwinkelmann "clarkwinkelmann (28 commits)")[![imorland](https://avatars.githubusercontent.com/u/16573496?v=4)](https://github.com/imorland "imorland (21 commits)")[![flarum-bot](https://avatars.githubusercontent.com/u/39334649?v=4)](https://github.com/flarum-bot "flarum-bot (18 commits)")[![rylat](https://avatars.githubusercontent.com/u/6824779?v=4)](https://github.com/rylat "rylat (7 commits)")[![davwheat](https://avatars.githubusercontent.com/u/7406822?v=4)](https://github.com/davwheat "davwheat (7 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")[![ImakuTranslate](https://avatars.githubusercontent.com/u/25817039?v=4)](https://github.com/ImakuTranslate "ImakuTranslate (3 commits)")[![askvortsov1](https://avatars.githubusercontent.com/u/38059171?v=4)](https://github.com/askvortsov1 "askvortsov1 (2 commits)")[![KonstantinCodes](https://avatars.githubusercontent.com/u/844484?v=4)](https://github.com/KonstantinCodes "KonstantinCodes (2 commits)")[![KyrneDev](https://avatars.githubusercontent.com/u/13856015?v=4)](https://github.com/KyrneDev "KyrneDev (2 commits)")[![theFlob](https://avatars.githubusercontent.com/u/9917848?v=4)](https://github.com/theFlob "theFlob (2 commits)")[![tony199555](https://avatars.githubusercontent.com/u/11675398?v=4)](https://github.com/tony199555 "tony199555 (2 commits)")[![Hiobi](https://avatars.githubusercontent.com/u/2171856?v=4)](https://github.com/Hiobi "Hiobi (2 commits)")[![sijad](https://avatars.githubusercontent.com/u/7693001?v=4)](https://github.com/sijad "sijad (1 commits)")[![skmedix](https://avatars.githubusercontent.com/u/3246162?v=4)](https://github.com/skmedix "skmedix (1 commits)")[![uidHUB](https://avatars.githubusercontent.com/u/12877339?v=4)](https://github.com/uidHUB "uidHUB (1 commits)")[![fran-f](https://avatars.githubusercontent.com/u/50931058?v=4)](https://github.com/fran-f "fran-f (1 commits)")[![fransallen](https://avatars.githubusercontent.com/u/16480581?v=4)](https://github.com/fransallen "fransallen (1 commits)")[![jaspervriends](https://avatars.githubusercontent.com/u/4417659?v=4)](https://github.com/jaspervriends "jaspervriends (1 commits)")

---

Tags

fileuploadflarum

### Embed Badge

![Health badge](/badges/01x-dev-upload/health.svg)

```
[![Health](https://phpackages.com/badges/01x-dev-upload/health.svg)](https://phpackages.com/packages/01x-dev-upload)
```

###  Alternatives

[fof/upload

The file upload extension for the Flarum forum with insane intelligence.

188171.7k15](/packages/fof-upload)[kartik-v/bootstrap-fileinput

An enhanced HTML 5 file input for Bootstrap 5.x, 4.x, and 3.x with features for file preview for many file types, multiple selection, ajax uploads, and more.

5.4k7.9M13](/packages/kartik-v-bootstrap-fileinput)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
