You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

对比同文件名JPG与WEBP文件体积,优化现有PHP实现脚本

脚本优化方案

原有脚本存在的问题

  • 重复调用glob()扫描目录3次,额外产生不必要的IO开销,文件数量大时性能损耗明显
  • 依赖JPG和WEBP文件的扫描返回顺序、数量完全一致,只要存在任意一个无配对的文件,就会出现索引错位,导致对比结果完全错误
  • 冗余存储全量文件大小、名称数组,文件数量越多内存占用越高

优化后代码(更短、性能更高、容错性更强)

foreach (glob("*.jpg") as $jpgFile) {
    $webpFile = pathinfo($jpgFile, PATHINFO_FILENAME) . '.webp';
    if (file_exists($webpFile) && filesize($jpgFile) <= filesize($webpFile)) {
        echo $jpgFile . "<br />";
    }
}

优化说明

  • 仅扫描1次JPG文件目录,减少2/3的目录扫描IO开销,性能提升明显
  • 直接通过JPG文件主名匹配对应WEBP文件,完全避免索引错位问题,即便存在无配对的文件也不会影响结果准确性
  • 无需额外存储全量数组,仅单次遍历过程中做判断,内存占用极低
  • 代码大幅精简,可读性和可维护性更强

内容的提问来源于stack exchange,提问作者Costa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:36:03