PHP文件重命名循环


php file renaming loop

我经营一个电子商务网站,我有大量的产品图片。命名规则很简单:productid-picnumber .

但有时picnumber之间有间隔。

产品id 4519的图片示例:

4519-0.jpg
4519-3.jpg
4519-4.jpg
4519-5.jpg
4519-8.jpg

我正在写一个算法来重命名图片。这个产品的图片应该重命名为:

4519-0.jpg
4519-1.jpg
4519-2.jpg
4519-3.jpg
4519-4.jpg

。0必须总是0,因为它是主要的产品图像。-0总是在那里。假设$ids是包含我所有产品id的数组。

遍历产品id并使用file_exists()是最好的方法吗?

我强烈建议您首先从目录列表中获取所有文件名,然后运行重命名"dry"(映射oldname ->要更改的文件的新名称),然后输出操作的实际结果是否为预期结果。

这不仅会为您节省很多file_exists检查,而且还会使事情更安全。

另外,您可以考虑使用一些标准的文件系统实用程序,它们可以非常快速地重命名/重新编号文件。查看操作系统文档