2013 年 11 月 17 日晚上,我记得很清楚,因为那天宿舍楼下的打印店提前关门。我用一台二手的 ThinkPad T420,系统还是 Windows 7,正把一个月里攒下的图库索引文件从 D 盘拖到移动硬盘上。当时移动硬盘的盘符是 F,索引文件一共 1,842 个,按日期分了 28 个文件夹。拖动进行到一半,我误按了 Shift 加 Delete,屏幕右上角弹出一个没有"回收站"字样的确认框,我点了"是"。那一刻风扇的声音突然显得很大。我后来用了三款恢复软件,其中一款跑了一整夜,第二天早上告诉我恢复了 611 个文件,但文件名全部变成了"恢复_0001"到"恢复_0611"这样的序列,和原来的目录结构对不上。那次失败是我第一次意识到,图库这件事的难点从来不是"找到图",而是"在图还在的时候,让它的位置可被记住"。
索引比图片本身更容易丢。因为图片躺在硬盘里不会动,索引一旦错位,整座库就废了。
一、先把"图库资源网站"这个词拆开
很多人把图库资源网站理解成一个下载入口,我不同意。以我这些年整理的经验看,它至少是三层结构叠在一起:最底层是素材本体,中间层是索引与元数据,最上层才是检索与展示界面。三层里最容易出问题的是中间层,因为它既不像素材那样有直观体积,也不像界面那样能被一眼看到坏了。2016 年我帮一位叫陈默的摄影朋友整理他四年的作品库,他的硬盘里有 3 万多个 RAW 文件,但索引文件只有一个 400 多 KB 的数据库,打开后发现里面的路径字段还指向他旧电脑的 E 盘。也就是说,素材一个都没少,索引却集体失效了。我们最后是靠文件创建时间戳重建的,花了整整两天。这件事让我更确信:谈图库资源网站,绕不开"索引是否可迁移"这个工程问题。
也正因为如此,我后来在自己的记录里把版本差异看得比功能列表更重。比如老版49图库的目录命名习惯,和现在常见的时间戳命名完全不同,它用的是一套以任务编号为主键的层级;再比如正版图库在线打开这条路径,很多人以为它只是入口问题,其实它牵扯的是加载顺序——先校验再渲染,还是先渲染再补齐。这类差别在纸面上很小,落到几万条记录上就是能不能对得上的问题。
我的明确观点:大多数所谓"图库资源网站使用教程"都在教人怎么点按钮,而真正决定一个库能不能长期用下去的,是它的索引能不能被独立导出、独立校验、独立迁移。任何不支持导出的图库系统,我都会直接判它不合格,哪怕它的界面做得再漂亮。
二、版本差异里那些具体到数字的细节
2021 年春天,我在整理一份跨版本对照表时做过一个统计:把同一批 500 张测试图分别导入三个不同版本的库,记录首次索引完成所需的时间。结果最快的一个版本用了 96 秒,最慢的用了 7 分 12 秒,差距接近 4.5 倍,而这个差距在官方说明里完全没有体现。慢的那个版本并不是性能差,而是它对每张图都做了两次哈希校验。这件事没有对错,但它说明版本差异往往藏在实现细节里,不在版本号上。我在整理图库恢复正常使用方法的时候,特意把"先看校验次数再看界面"写成了第一条建议,原因就在这里。
版本号是给市场看的,校验逻辑才是给用户用的。
还有一处细节值得记下来。2022 年冬天,一位读者在邮件里问我,为什么他在不同浏览器里打开同一个库,看到的条目数量会差 30 多条。我请他分别用两个浏览器各导出一次目录清单,比对后发现,差异全部集中在文件名含中文全角括号的那一批记录上,一共 34 条。这属于编码处理层面的问题,和电脑版qq浏览器打开时的字符集推断有关。他后来按我说的,先把浏览器编码固定为 UTF-8 再加载,问题就消失了。这类排查听起来琐碎,但它恰恰是"完整资料"这四个字里最难写、也最容易被跳过的一部分。
三、归档逻辑:为什么我坚持留一份离线清单
从 2017 年起,我给自己定了一条规矩:任何一个图库资源网站的资料,在入库之后 24 小时内,必须生成一份纯文本的离线清单,字段至少包含编号、原始文件名、入库时间和校验值。这份清单不追求好看,只追求能在断网、数据库损坏、系统重装之后还能被读出来。到 2026 年 6 月为止,这样的清单我已经积累了 9 年,按年份分成了 9 个档案袋和 3 块冷备硬盘。有人觉得这是多余的谨慎,我承认它有点偏执,但 2013 年那个晚上点下"是"的瞬间,让我很难再对这种偏执感到羞耻。归档不是为了永存,归档是为了在出事那一刻,你手里还有一张能对得上的纸。
我也因此格外留意那些把"公开入口"写得很清楚的资料。像4949图库资料库资料免费公开入口这类页面,价值不在入口本身,而在它把版本、日期和适用范围都列在了同一屏里,方便你事后回查。反过来,如果一份资料连"这份清单是哪天生成的"都答不上来,我就不会把它放进档案袋。至于系统层面的恢复手段,我一般建议按如何通过官方渠道恢复49图库资料里写的那套顺序走:先停写入,再校验,最后才谈恢复,顺序错了,恢复出来的东西也就没意义了。
归档的第一原则不是保存,而是可对账。