phpBB Upload Mod: How to Add Image Uploading to Your Forum
To add image uploading to phpBB, you generally have two routes: enable phpBB's built-in attachment system (no mod needed for most modern versions), or install an extension that adds a dedicated upload button and/or routes images to an external host. The built-in route is the safest starting point; extensions are worth it when you want a simpler posting experience or offloaded storage. The steps below assume phpBB 3.2/3.3, where "MODs" have been replaced by extensions.
First: check whether you already have uploads
phpBB ships with an attachment feature. Before installing anything, confirm it works.
- Go to ACP → General → Attachment settings.
- Check that Allow attachments is enabled and note the Maximum file size and Allowed extensions (add
jpg,jpeg,png,gif,webpif missing). - Go to ACP → Permissions → Group permissions → Registered users → Advanced permissions → Post → Can attach files and set it to Yes.
- Set a writable
files/directory (defaultphpBB/files/) — the web server user needs write permission.
If uploads work after this, you don't need a mod at all. The rest of this article is for when you want more than the default.
Choosing between a local upload extension and an external image host
| Approach | What it does | Best when | Trade-offs |
|---|---|---|---|
| Built-in attachments | Stores files on your server | Small forums, low image volume | Uses your disk and bandwidth; backups grow fast |
| Local upload extension | Adds a friendlier upload UI/button to the posting page | You want one-click uploads but keep files on your server | Still consumes your storage; extension must match your phpBB version |
| External image host | Images live on a third-party service, embedded via BBCode/URL | Large images, limited server space, or you want to offload bandwidth | Depends on the host staying online; broken links if the host removes files |
For forums that expect heavy image posting, the external-host route avoids the most common long-term problem: a files/ directory that outgrows your hosting plan.
Installing an upload extension
Extensions are installed by placing files, not by editing core code.
- Download the extension and unzip it.
- Upload the folder to
phpBB/ext/<vendor>/<extension_name>/on your server. The path must match the extension's declared namespace exactly, or it won't appear. - In the ACP, go to Customise → Manage extensions.
- Find the extension under Disabled extensions and click Enable.
- Clear the cache (ACP → General → Purge the cache) if settings don't appear immediately.
Expected result: a new upload control appears on the posting page, or new options appear under the ACP. If nothing shows up, the usual cause is a wrong folder path or a version mismatch with your phpBB release.
Configuring limits and formats
After enabling, tune these so uploads behave predictably:
- Maximum file size — match it to your PHP
upload_max_filesizeandpost_max_size. If phpBB allows 10 MB but PHP caps at 2 MB, uploads silently fail. - Allowed extensions — restrict to image types you actually want (
jpg,png,gif,webp). Allowing everything invites abuse. - Image dimensions — set a max width/height if you don't want huge images breaking post layout.
- Storage path — keep the upload directory outside the web root if the extension supports it, or at least ensure it's not browsable.
Testing and fixing broken images in posts
Upload a test image as a normal user, then:
- Confirm the file appears in the upload directory.
- Insert it into a post using the attachment button or the extension's insert control.
- Preview the post — the image should render inline.
Common failures and their causes:
- "The image file is invalid" — the extension isn't in the allowed list, or the file is actually a different format than its extension claims.
- Upload succeeds but image shows as a broken icon — the stored path or URL is wrong, often because the board URL in ACP → Board settings doesn't match the real domain.
- Upload fails with no message — PHP limits (
upload_max_filesize,post_max_size,max_execution_time) are lower than phpBB's settings. - Images disappear after a while — if you're using an external host, the file was removed there; local attachments don't have this problem unless you delete them.
When to use an external image host instead
If your forum is image-heavy and server space or bandwidth is a constraint, an external host is the practical choice. Services like Image Chest (imgchest.com) describe themselves as free image hosting and sharing, aimed at forum image hosting — which fits the "post an image in a thread" use case. With this approach:
- Users upload to the host, then paste the direct image URL or BBCode into the post.
- Your server stores no image files, so backups and disk usage stay small.
- The risk is link rot: if the host goes down or deletes the file, the post shows a broken image.
A middle path many forums use: keep the built-in attachment system for small, important images, and let users link external hosts for large screenshots and photos.
Quick decision guide
- Small forum, few images → enable built-in attachments, no mod.
- Want a nicer upload button, files stay on your server → install a local upload extension.
- Large images, limited hosting → use an external image host and embed via URL/BBCode.
- Images already breaking in posts → check allowed extensions, PHP size limits, and the board URL setting before reinstalling anything.