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

PHP图片上传重命名及版本控制场景下保留旧文件正确扩展名问题咨询

代码修改方案

你只需要替换原有版本重命名的核心逻辑即可,具体修改如下:

第一步:替换核心代码

找到原有代码中的这一段:

if (IsEnabled($EnableUploadVersions, 0))
  @rename($filepath, "$filepath,$Now");

替换为以下内容:

if (IsEnabled($EnableUploadVersions, 0)) {
    $path_info = pathinfo($filepath);
    // 处理有扩展名的文件
    if (isset($path_info['extension'])) {
        $new_backup_path = $path_info['dirname'] . '/' . $path_info['filename'] . ',' . $Now . '.' . $path_info['extension'];
    } else {
        // 兼容无扩展名的文件
        $new_backup_path = $filepath . ',' . $Now;
    }
    @rename($filepath, $new_backup_path);
}

实现逻辑说明

  • 调用PHP内置的pathinfo()函数拆分原文件的完整路径,自动分离出目录、主文件名、扩展名三个部分
  • 备份文件命名规则调整为[主文件名],[时间戳].[扩展名],例如原文件是photo.jpg,备份后会变成photo,1699999999.jpg,扩展名保留在末尾可被图库脚本正常识别
  • 额外兼容了没有扩展名的文件,不会出现多余的.后缀

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 17:36:00