Cloudflare R2 Storage Add-on For Filebob 扩展介绍
先纠正一处源表标注:这条资源标的是”PHP源码 | 移动应用源码”,但它是个纯服务端的 Laravel 扩展,没有任何移动端 App 组件。本文按 PHP 源码归类。
它解决什么问题
Filebob 是个文件托管 / 网盘类脚本,默认把用户上传的文件放在自己的服务器磁盘上。文件一多,磁盘满、带宽吃紧、备份变慢,三件事同时来。这个扩展把存储后端换成 Cloudflare R2——S3 兼容的对象存储,最大的特点是不计出口流量费,只按存储量和操作次数计费。
安装前提
- 站里已经跑着 Filebob 主脚本,并且版本对得上。
- 有一个 Cloudflare 账号,在后台开通 R2,建好 Bucket。
- 拿到 R2 的 Access Key、Secret Key、Account ID 和 Bucket 名,填进扩展的设置页。
- 服务器 PHP 8.x,MySQL 5.x 以上,Laravel 环境按主脚本要求走。
一个必须知道的限制
官方说明里有一句很关键的话:文件是先上传到服务器,再从服务器搬到 R2,不支持客户端直传。
这意味着两件事。一,上传时的流量仍然走你的服务器,大文件上传依然吃带宽,R2 省的是”下载/播放”这一侧的流量。二,上传瞬间服务器磁盘需要能容纳这个临时文件,主机磁盘太小的话,大文件上传会失败。
如果你的站以”用户上传大文件”为主,这个方案只解决了一半问题;如果以”用户下载/在线播放已有文件”为主,R2 的零出口费能省下真金白银。
实操顺序
- 先在 R2 建桶,区域选离主要用户近的,公开访问走自定义域名,别直接用 r2.dev 的临时域名对外。
- 填好密钥后在后台做一次小文件上传测试,确认文件确实出现在桶里。
- 再测一次大文件(比如 100MB 以上),观察服务器磁盘和 PHP 的上传限制(upload_max_filesize、post_max_size、max_execution_time)。
- 确认没问题后,把历史文件迁移过去。这一步要走命令行或脚本批量搬,别在网页端一个个点。
几个容易踩的点
- CORS。如果前台要做分片上传或直接播放,桶的 CORS 规则必须配对,否则浏览器侧会静默失败。
- 私有桶。桶设成私有后,文件访问要走签名 URL,签名有效期别设太长。
- 删除同步。在站里删文件,桶里是否同步删除,取决于扩展的实现,建议自己验证一次。
适合谁
已经在用 Filebob 且被存储成本或下载带宽压着的站,尤其是做资源分发、素材下载、在线预览的。只跑小博客、文件量在几百兆以内的,用不上这套。PHP 类源码可以看Laravel 源码标签。
nulled 版本适合本地验证 R2 连接与上传链路,对外运营的站建议走正版。下载在芒果下载页,装完核对文件完整。
专题在PHP 业务系统与 SaaS 源码推荐,源码类目在PHP 源码分类。
本站所有资源收集自网络,所有软件版权归属原作者。



