批量重命名文件夹中的文件 - PHP

php
2022-08-31 00:03:36

我在一个文件夹中有1000张图像,所有图像中都有SKU#字。例如

WV1716BNSKU#.zoom.1.jpg
WV1716BLSKU#.zoom.3.jpg

我需要做的是读取所有文件名并将其重命名为以下内容

WV1716BN.zoom.1.jpg
WV1716BL.zoom.3.jpg

那么从文件名中删除SKU#,是否可以在PHP中进行批量重命名?


答案 1

是的,只需打开目录并创建一个循环来访问所有图像并重命名它们,例如:

<?php

if ($handle = opendir('/path/to/files')) {
    while (false !== ($fileName = readdir($handle))) {
        $newName = str_replace("SKU#","",$fileName);
        rename($fileName, $newName);
    }
    closedir($handle);
}
?>

引用:

http://php.net/manual/en/function.rename.php

http://php.net/manual/en/function.readdir.php

http://php.net/manual/en/function.str-replace.php


答案 2

小菜一碟:

foreach (array_filter(glob("$dir/WV1716B*.jpg") ,"is_file") as $f)
  rename ($f, str_replace("SKU#", "", $f));

(或者如果数字无关紧要)$dir/*.jpg


推荐