当前位置:首页>python>我用 Python 脚本扫了 3000 首 FLAC,四分之一是假无损

我用 Python 脚本扫了 3000 首 FLAC,四分之一是假无损

  • 2026-07-02 22:42:09
我用 Python 脚本扫了 3000 首 FLAC,四分之一是假无损

你收藏的"无损"FLAC 文件,可能只是 MP3 换了一件马甲。马甲穿得敷衍——一条水平线就暴露了。


今年 2 月,少数派作者 keeping 发了一篇文章,叫《用频谱分析找出我存的那些假无损,假高解析度音乐》。文章不复杂——用一张频谱图(横轴是时间、纵轴是频率、颜色深浅代表音量),真假无损一目了然:

真的无损文件,频率像火焰一样自然延伸到顶部(44.1kHz 采样率下到 22kHz)。假的?16kHz 或 20kHz 处一条笔直的水平线,上面一片死黑。像被人用剪刀咔嚓剪断了一样。

这玩意儿太好认了。认到我不需要 AI、不需要训练模型,只需要看一眼

但我的音乐库有将近 3000 个 FLAC 文件——从 CD 抓轨的、从各大平台下载的、朋友分享的合集。一个个拖进频谱工具看?那是人干的事吗?

我是工程师。遇到重复劳动,第一反应不是忍,是写脚本。

第一版脚本:几乎全是假无损

第一版逻辑很直接:把 FLAC 文件用 ffmpeg 解码成原始 PCM 数据,跑个 FFT 频谱分析,从最高频往低频扫,找到最后一个能量高于阈值的频率点——这就是"截断频率"。低于 17kHz?假无损。高于 20.5kHz?真的。

跑完一看,几乎全是假无损。

Beyond《海阔天空》?假无损。光良《童话》?假无损。这不对。

排查后发现,第一版有个低级 bug:扫描的起始频率设成了 21550Hz,但 FFT 的频率 bin 总共只有 2049 个。扫描只覆盖了 21550Hz 到 22050Hz 之间那 47 个 bin——而所有这些 bin 的能量本来就低于阈值。真正的截断点在 16-20kHz 范围,扫描根本没到那儿。

就像拿着手电筒只照天花板角落,然后说屋里没东西。

为什么 MP3 转码会在频谱上留下"一刀切"

要理解这个"一刀切",得从 MP3 编码机制说起。

MP3 不是把整个音频信号均匀压缩。它先把 PCM 信号切成 32 个等宽的频率子带——每个子带大约 689Hz 宽。然后用一个"心理声学模型"判断哪些声音人耳听不到(被强声音掩盖了),直接丢掉。最后量化、Huffman 编码压缩。

128kbps 的 MP3,比特率太低了——32 个子带里高频子带分到的比特极少。编码器做了一个干脆的决定:直接不要 16kHz 以上的子带。与其用极低比特编码出更差的伪影,不如一刀切掉。

这就是频谱图上那条水平线的物理来源。不是玄学,是比特不够用了。

320kbps 的 MP3 好一些,20kHz 以上才切。但仍然是硬截断。CD 标准采样率 44.1kHz,Nyquist 频率是 22.05kHz——理论上能到 22kHz。MP3 128k 砍到 16kHz,丢掉了近 30% 的频率范围。

AAC 编码稍微体面一点,不硬切,用感知噪声替换技术处理高频。但在频谱图上会留下毛刺和黑色断裂带——像一把钝刀子割的。

第二版:梯度分析,又被骗了

修了扫描范围后,我换了梯度分析法——计算频谱在每个频率点的能量变化率,找最陡的那个点,那就是截断位置。MP3 截断是"悬崖",梯度一定陡。真无损的高频衰减是渐进的,梯度平缓。

结果 Beyond《海阔天空》在 20.5kHz 处有一个陡梯度,被判为假无损。但用 ffmpeg 生成高分辨率频谱图一看——频谱自然延伸到了 22kHz,这是真的。那是 Nyquist 频率附近的自然滚降,不是 MP3 截断。

区分方法很简单:陡梯度出现在 19.5kHz 以下,那是 MP3 截断。出现在 21kHz 以上,是物理现象(采样率限制了最高频率),正常的。

第三版:MP3 128k 的梯度不够"悬崖"

更大的问题出来了。陈鸿宇的《理想三旬》,频谱图上 16kHz 处一条清晰的砖墙截断线——铁证如山的假无损。但梯度分析给出的最大负梯度只有 -5.93 dB/kHz,远低于我设的 -12 dB/kHz 检测阈值。

为什么?MP3 128k 的截断不是"悬崖",是"缓坡的尽头突然消失"。 在截断点之前(14kHz 处)能量已经很低了(约 -56dB)。从 14kHz 到 16kHz 的能量下降只有约 10dB,分布在约 2kHz 的范围内——梯度自然平缓。

梯度分析适合检测 MP3 320k(截断点附近能量还高,梯度陡峭)。对 MP3 128k,它瞎了。

突破:不看"平均",看"每一帧"

我换了一个思路。不再看"整首歌的平均频谱"——那是把所有时刻的频率混在一起。看每一帧 FFT 中最高能跑到多少频率。

具体做法:对每一帧 FFT,找到该帧中能量高于 -70dB 的最高频率。然后对所有帧的最高频率取中位数。

这个指标干净利落。真无损在任何时刻都有频率成分延伸到接近 Nyquist 频率。MP3 转码的文件,每一帧的最高频率都被截断限制住了——中位数直接暴露。

测试结果:

文件
逐帧最大频率中位数
判定
Beyond - 海阔天空
20720Hz
真无损
光良 - 童话
20543Hz
真无损
陈鸿宇 - 理想三旬
15035Hz
假无损
莫扎特 - 第40号交响曲
19816Hz
可疑

《童话》之前被梯度分析误判,这次对了——频谱确实自然延伸到了 22kHz。低分辨率频谱图看着像截断的特征,高分辨率下其实是自然衰减。

《理想三旬》的 15035Hz,说明每一帧的最高频率都没超过 16kHz——铁证。

一个有意思的发现:古典乐不会"骗人"

莫扎特《第40号交响曲》的中位数 19816Hz,被标为"可疑"。直觉上,古典乐自然高频少——8kHz 以上能量已经很低了,会不会误判?

不会。用高分辨率频谱图验证后,这个文件确实在 16kHz 处有砖墙截断。它就是假无损。

古典乐的高频成分确实少,但这不意味着它应该在 16kHz 处截断。真无损的古典乐,逐帧最大频率中位数仍然 ≥ 20kHz。16kHz 截断只有一种解释——原始音源就是 128kbps MP3 级别的,被转成了 FLAC。

不要因为"古典乐听起来高频少"就给 16kHz 截断找借口。信号就是信号,不听主观判断。

全量扫描结果:四分之一不干净

最终脚本跑完了 2985 个 FLAC 文件(4 workers,ARM64,约 30 分钟):

类别
数量
占比
真无损
2211
74.1%
可疑
626
21.0%
假无损
108
3.6%
假 Hi-Res
40
1.3%

加起来,约四分之一的文件有问题。

假无损集中在流行歌扁平目录和古典乐合集。假 Hi-Res 更离谱——有些文件标称 192kHz/24bit,但逐帧最大频率中位数只有 16kHz。什么意思?原始音源是 MP3 128k 级别的,被上采样到了 192kHz。就像把一张 480p 的图片插值到 4K,然后告诉你这是原生 4K。

这不是个别现象。多个音乐平台曾被曝销售"假 Hi-Res"音乐。流媒体平台 Deezer 在 2025 年对超过 1340 万个 AI 生成音轨打了标签,每天处理 6 万多个上传——音频质量检测的需求正在扩大。

如果你也想检查自己的音乐库

不需要写 Python 脚本。两个选择:

普通用户:下载 Spek(开源免费,拖拽即用)。把 FLAC 文件拖进去,5 秒出频谱图。16kHz 或 20kHz 处有一条水平截断线?假的。频率自然延伸到顶部?真的。

批量检测:AuCDtect 用神经网络自动检测,输出 CDDA/MPEG 概率百分比,不需要人工判断频谱。foobar2000 用户装 fooCDtect 插件,批量处理整个音乐库。ffmpeg 一行命令也能批量生成频谱图:

ffmpeg -i file.flac -lavfi showspectrumpic=s=1200x600:mode=combined:color=viridis output.png

如果你想写自己的检测脚本,核心就一条:逐帧最大频率中位数。不要算平均频谱,不要搞复杂的梯度分析——对每一帧找到最高频率成分,取中位数。低于 17kHz 是假无损,17-20kHz 可疑,20kHz 以上大概率是真的。

最后

频谱图不会说谎。FFT 把信号拆开,每个频率分量摆在那里。截断就是截断,滚降就是滚降,不需要专家鉴定,不需要主观判断。

你看到的,就是信号本身。


你本地音乐库里有多少 FLAC 文件?用 Spek 拖几个看看,16kHz 那条线出现了吗?

原文参考

keeping. 用频谱分析找出我存的那些假无损,假高解析度音乐. 少数派 (sspai).https://sspai.com/post/106454

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-03 05:22:42 HTTP/2.0 GET : https://f.mffb.com.cn/a/495960.html
  2. 运行时间 : 0.199633s [ 吞吐率:5.01req/s ] 内存消耗:4,485.82kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=fde2c684408e8a498b9b2b4b18cbff03
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000554s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000983s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.003141s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.021152s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000849s ]
  6. SELECT * FROM `set` [ RunTime:0.014972s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000819s ]
  8. SELECT * FROM `article` WHERE `id` = 495960 LIMIT 1 [ RunTime:0.010868s ]
  9. UPDATE `article` SET `lasttime` = 1783027362 WHERE `id` = 495960 [ RunTime:0.017378s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 66 LIMIT 1 [ RunTime:0.000968s ]
  11. SELECT * FROM `article` WHERE `id` < 495960 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.013192s ]
  12. SELECT * FROM `article` WHERE `id` > 495960 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001566s ]
  13. SELECT * FROM `article` WHERE `id` < 495960 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.026171s ]
  14. SELECT * FROM `article` WHERE `id` < 495960 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.001655s ]
  15. SELECT * FROM `article` WHERE `id` < 495960 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.015229s ]
0.201273s