PHP实现批量修改文件名的方法示例

本文实例讲述了PHP实现批量修改文件名的方法。分享给大家供大家参考,具体如下:

需求描述:

某个文件夹下有100个文件,现在需要将这个100个文件的文件名后添加字符串Abc(后缀名保持不变)。

代码实现:

方法一

  1. <?php
  2. $dir = __DIR__."\image\\";
  3. $list = scandir($dir);
  4. foreach ($list as $item) {
  5. if(!in_array($item,['.','..'])){
  6. $arr = explode(".", $item);
  7. $origin_name = reset($arr);
  8. $new_name = $origin_name.'Abc.'.end($arr);
  9. $origin_path = $dir.$item;
  10. $data = file_get_contents($origin_path);
  11. $new_path = $dir.$new_name;
  12. $res[] = file_put_contents($new_path, $data);
  13. unlink($origin_path);
  14. }
  15. }

方法二

  1. <?php
  2. $dir = __DIR__."\image\\";
  3. $list = scandir($dir);
  4. foreach ($list as $item) {
  5. if(!in_array($item,['.','..'])){
  6. $arr = explode(".", $item);
  7. $origin_name = reset($arr);
  8. $new_name = $origin_name.'Abc.'.end($arr);
  9. $origin_path = $dir.$item;
  10. $new_path = $dir.$new_name;
  11. copy($origin_path, $new_path);
  12. unlink($origin_path);
  13. }
  14. }

方法二使用了copy函数,更加简便。

文件目录要有写入权限才行