批量重命名文件名称中的某些文本

时间:2015-04-04 08:44:52

标签: php

我在批量重命名实时服务器上的一个文件夹中的文件时犯了一个错误。基本上我已经丢失了大量.jpeg文件的扩展名。现在它们看起来像file1jpegfile2jpeg等等。

如何扫描整个文件夹并替换以" jpeg"结尾的文件名使用" .jpeg",如file1.jpeg

LE。某些文件可能已在名称中包含点("。")。

非常感谢!

2 个答案:

答案 0 :(得分:2)

以下是您的开始:

<?php

   $string = "filejpeg";
   $pos = strpos($string, 'jpeg');

   $newstring = substr_replace($string, '.', $pos, 0);

    var_dump($newstring);
?>

答案 1 :(得分:2)

这应该有效。适合我的工作

<?php
    $allFiles = scandir('../php/'); // REPLACE WITH YOUR DIRECTORY


    foreach($allFiles as $file) {
        $pos = strpos($file, 'php'); // REPLACE PHP WITH YOUR EXTENSION
        $newstring = substr_replace($file, '.', $pos, 0);


        rename("../php/$file", "../php/".$newstring);
    }
?>