素材管理这件事有个尴尬的地方:文件放在硬盘里,是「资产」;想拿出去给人看,就得变成「网页」。前者需要一个文件管理器,后者需要一个建站程序,两边各存一份,改一个另一个就过时。

FilePress 想解决的就是这道缝。它的自述是一个「文件驱动型建站系统」——不按「文章 + 附件」组织内容,而是把文件本身当成内容主体。项目是 zyx0814/FilePress,PHP 写的,AGPL 开源,1124 星、127 fork,当前版本 3.0.0。

先说一段来历,因为它决定了这个项目的很多设计。仓库里的更新说明写得很清楚:3.0.0 是从 PicHome 2.2.0 升级而来,支持 PHP 8,并新增了「发布」这一整套能力。所以严格说,它不是从零长出来的新项目,而是一个图片库产品在三年里长成了素材门户——早期宣传图里顶栏还挂着 PicHome 的旧名。

一、先说它跟传统 CMS 差在哪

文章驱动与文件驱动两种组织方式的对比:左侧是文章—附件—列表页,右侧是文件—库—发布—合集

上面这张图是我按它的数据组织方式画的。左边是我们熟悉的 CMS:文章是主体,图片和压缩包作为附件挂在文章下面,读者看到的是一篇篇内容。右边是 FilePress 的路子:文件是主体,一堆文件组成库,库再通过四种形态发布出去,若干次发布可以组成合集。

这个差别听着抽象,落到具体功能上就很好理解。在 CMS 里,「这张图是什么尺寸、什么主色调、多长、几分」这些信息没有字段可放,只能人工写进正文;而在 FilePress 里,这些是文件自己的属性——它会自动读出来,并且可以用来筛选。

更有意思的是「库」这一层。传统网盘给你一个统一的空间,全靠文件夹分类;FilePress 允许多个库并存,每个库有自己的分类和权限。这意味着「给客户的素材」和「内部半成品」可以彻底隔离,而不是靠文件夹上一层层的权限设置去凑。

二、一个库能长出什么样

3.0 版本最实质的变化是「发布」。它给了四种发布形态:

  • 单页——不写代码,拖拽模块拼一个展示页。可用的模块包括轮播图、文件推荐、富文本、常见问题、链接。适合做「产品图册首页」这种页面。
  • 多文件——把若干文件打包成一个展示页,等于一份可浏览的清单。
  • 单文件——一个文件一个页面,适合给每个设计稿、每个模型单独做一页说明。
  • 智能数据——按条件组织库里的文件,等于一个动态聚合页。上新自动出现,不用手动维护。

这四种发布可以再组成合集,也就是一个完整的站。README 里给的应用场景很实在:家庭媒体资料库、团队共享库、企业文件资料库,再往下细分是「商品素材共享平台」「代理商/分公司产品资料库」「企业图库」。

发布出来的素材展示页:顶部标题与描述,下方按顺序排列的文件缩略图

上面这张是它发布出来的页面长什么样——一个标题、一段描述、下面一排文件。没有侧边栏、没有导航、没有「关于我们」,就是一个干净的展示页。对「把一批图给客户看」这个需求来说,这比搭个网站简单太多了。

顺带说明:这两张界面截图来自仓库 README,是 2.x 时期的界面(顶栏还是旧名字),3.0 的界面已经改过。功能逻辑没变,但配色和布局会有出入,看到实物时不必对不上号。

三、界面上的功夫,全在「怎么找到那张图」

瀑布流视图:左侧是库与分类树,顶部是按标签、颜色、尺寸、类型等维度的筛选条,右侧是选中文件的信息面板

这张图信息量最大,值得逐块看。

左边是库与分类树:全部、未分类、未标签、标签管理、回收站,下面按素材类型分组。每个条目后面带着数量,一眼知道哪块积压最多。

顶部是筛选条,也是我觉得这个项目最「素材向」的地方:标签、颜色、链接、注释、时长、尺寸、类型、形状、评分、添加时间、修改时间、创建时间。这些维度大部分是从文件本身读出来的,不需要你手填。想找「所有横版、蓝色调、时长超过一分钟的视频」,在这个筛选条上点几下就行。

右边是文件信息面板:文件名、标签、描述、评分、分类,以及格式、尺寸、文件大小、添加日期。面板顶部还能切换排序方式和视图模式。

视图一共六种:瀑布流、自适应、网格、列表、双排列表、详细。这个设计对素材站很关键——看设计稿要瀑布流,找文件名要详细列表,两种需求在同一个库里切换就行,不用换程序。

README 里还提到两个容易被忽略的细节:一是音视频文件可以在列表里直接预览、快进,不用点开;二是对于不支持预览的格式(设计源文件、压缩包、模型),可以自定义封面和多张预览图。压缩包里有什么,靠几张预览图就能说清,这个思路很实用。

四、后台、个人中心、前台,各管一段

三处入口的分工:后台负责配置、个人中心负责日常管理、前台负责浏览检索,另有计划任务与 AI 两条旁路

这个项目在文档里特意区分了「后台」和「前台」,而且说法有点反直觉:后台是给站长做配置的,日常管理文件反而在前台做。

具体分工是这样:后台(admin.php)管站点配置——域名、模板、导航、多语言、文件类型、视图样式,以及 AI 的 Prompt 预设。README 里把它形容成「一个无代码网页设计器」,配置熟悉之后可以拿它给别人搭定制化的素材平台。

个人中心(user.php)是日常真正在用的地方——上传文件、打标签、设封面、管各个库。前台(index.php)是访客看的浏览与检索界面。

这个划分其实是合理的:配置是低频操作,改一次管很久;管文件是高频操作,需要一个顺手的界面。把两者塞进同一个后台,是很多自建程序的通病。

五、AI 标注:它的特别之处在于「按场景分 Prompt」

文件管理最费人力的环节是标注——一堆图,起名、打标签、写说明,纯手工能干到天亮。FilePress 把这块交给了大模型,目前提供五项:改文件名、打标签、写描述、批量标注、文件问答。

跟同类功能比,它的设计差异在于不给你一个「通用 AI」,而是让你预置多条 Prompt,标注时挑一条用。README 举的例子很具体:不同 Prompt 能引导出不同方向的结果,从而适配不同行业、不同类型的文件。落到界面上,就是在文件信息面板里点 AI 按钮,弹出「通用描述 / 海报描述 / 作品鉴赏」这样的菜单让你选。

这个做法比「一键生成」麻烦一点,但结果可用性高得多——给电商商品图写的描述,和给摄影作品写的赏析,本来就不该用同一套指令。

边界也要说清楚:README 里这份支持清单,图片打了勾,视频和文档还是空的。也就是说 AI 目前只认图。另外它明确提到会继续接入更多在线大模型,以及私有化部署的方案——这部分现在还没有。

六、部署这件事,以及一个必须知道的来历

部署门槛不高,但有几个硬条件:PHP 8 环境、MySQL 数据库、可以写文件的目录权限。安装走 install 目录的向导,装完删掉或者限制访问安装目录。计划任务需要单独配,程序提供了 cron.php 作为入口,可以交给系统的定时器按分钟触发——缩略图生成、索引更新这类重活都在这里。

升级路径是现成的:把新版本文件覆盖上去,跑一次 install 目录下的升级脚本,然后进后台「系统工具」清一次缓存。README 和更新说明里反复强调的第一步是先备份文件和数据库,这一步别省。

还有一个容易被略过的点,对判断这个项目挺重要:FilePress 的目录结构和管理逻辑,是建立在 Dzz 系框架之上的。核心文件、启动流程、计划任务、用户与权限体系都来自那套内核(程序文件头部的版权声明也还留着原框架的信息)。这解释了两件事:

  • 为什么它功能看起来比自研网盘全——用户、权限、附件、计划任务这些能力都是内核给的,不用重写;
  • 为什么它的目录结构看起来不像一般的「小清新 PHP 项目」——core / dzz / admin / user / install 这一套是有历史的。

知道这一点,你在排查问题时就不会到处找不到入口了。

七、适合谁,不适合谁

适合:

  • 手上有一批要反复对外展示的素材(设计稿、商品图、渲染图、模型),需要一个能检索、能分享、能挂个门面的地方。
  • 做电商、游戏、设计工作室,需要给不同客户开不同库的。
  • 用 Eagle、Billfish 这类本地素材库管理文件,又想多端查看的——README 明确把这两种工作流列为场景。

不适合:

  • 只想同步文件、不需要展示页的人。那是网盘的活,用更专一的工具。
  • 要写文章、做内容站的人。它的「内容」是文件,不是文字。
  • 完全不想碰服务器的人。PHP + MySQL + 文件权限 + 计划任务,这套还是需要一点运维基础。
  • 指望 AI 全自动整理视频和文档的人。目前只支持图片。

整体印象:这类「垂直建站程序」的价值,不在于功能多少,而在于它把一条特定工作流的最短路径铺好了。从上传、标注、筛选,到发布成页、组成合集,每一步都不需要你跳出这个程序去别处补。代价是它也只能干这一件事——但如果你正好需要这一件事,省下来的时间比什么都实在。

本文根据项目公开仓库 zyx0814/FilePress 的 README、更新说明(UPDATE.md)与程序入口文件整理撰写。文中两张界面截图取自仓库 README 所附官方图(为 2.x 时期界面,3.0 已改版),另两张结构图为依据 README 与目录结构自绘。星标数、许可协议、版本号与内核信息均为撰写时仓库所载,项目迭代较快,请以仓库当前状态为准。本文不含外链入口与推广内容。

本文整理自公开资料并做重写,原始出处:https://github.com/zyx0814/FilePress。文中配图已去除站点叠加水印与推广信息;版权归原作者所有。

Last modification:November 12, 2026
如果觉得我的文章对你有用,请随意赞赏