批量重命名和重新编号文件

时间:2011-10-12 18:23:35

标签: php wordpress file file-rename

(PHP> = 5) * 假借口:我不是程序员,我只是在学习......

我在自定义'/ img'目录中读过一些文件:

  • 0.jpg
  • 1.JPG
  • 2.JPG
  • .... JPG
  • 10.JPG

所以我得到了一个数组();

我需要根据jQuery已知的ID重命名数组中的每个项目(所有文件属性都在HTML表格单元格中设置,每个项目都根据需要包含ID和类)。但最令人不安的是我无法避免文件被覆盖。

E.g。我同时重命名1.jpg和3.jpg (使用jQuery我已经重新分配了ID(以及构建并传递给表单的新文件名): 1-st文件ID = 3, 第3个文件ID = 1 )

  • 1.jpg - > 3.JPG
  • ...
  • ...
  • 3.jpg - > 1.JPG

你会看到陷阱在哪里。

所以,问题是: 我应该创建一个'/ temp'目录以避免覆盖并写入它,所以稍后重命名()或mv()它们?或者有更透明,更快速的方法来做同样的事情?

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到:

  • 将3.jpg移至temp-dir
  • 将1.jpg重命名为3.jpg
  • 将3.jpg重命名为1.jpg
  • 将temp / 1.jpg移回文件夹

  • 将3.jpg重命名为3.jpg~
  • 将1.jpg重命名为3.jpg
  • 将3.jpg~重命名为1.jpg

  • 在内存中加载3.jpg
  • 将1.jpg重命名为3.jpg
  • 使用旧3.jpg(存储在您的记忆中)的内容创建文件1.jpg

可能有更多方法,但我认为这些是最好的。希望它有用:)

CNC中 我认为最后一个是最快的,但它消耗的内存最多。如果你不喜欢,我会使用第二个。但这是你的选择:)

答案 1 :(得分:0)

This包可以使用多种策略重命名目录中的文件。它可以递归遍历目录并根据几种不同类型的策略重命名文件。每个策略都定义了如何重命名每个文件。

目前实现了几种类型的策略,例如不同习语中的名称的音译和具有时间值的前缀名称。可以注册其他策略。

重命名的文件可能会被复制到一个单独的目录中。 该类还可以生成有关重命名文件的CSV格式的报告。