重命名文件名

时间:2018-07-01 15:22:45

标签: php file file-rename

我正在使用以下脚本重命名文件夹中的图像。执行时,前两个(新)名称将失败,因此它基本上以3开头。

    function getFileExtension($filename){   
        return substr($filename, strrpos($filename, '.'));
    }


    $counter    =   1;

if ($handle = opendir('images')) {

    while (false !== ($fileName = readdir($handle))) {
        $newCounter = str_pad($counter, 3, '0', STR_PAD_LEFT);
        $prefix =   '11225';
        $newName = $prefix.$newCounter;
        rename('images/'.$fileName, 'images/'.$newName.getFileExtension($fileName));
        $counter++;

    }

    closedir($handle);

}

这些是我得到的警告,

  

警告:重命名(images /。,images / 11225001。):该进程无法访问   该文件,因为它正在被另一个进程使用。 (代码:32)在   C:\ wamp \ apache2 \ htdocs \ renameimages \ index.php在第21行

     

警告:重命名(images / ..,images / 11225002。):访问被拒绝。 (码:   5)在第21行的C:\ wamp \ apache2 \ htdocs \ renameimages \ index.php中

有什么我想念的吗?

1 个答案:

答案 0 :(得分:1)

前两个是指向当前文件夹和父文件夹的链接。您应该跳过它们。

if($fileName=='.' || $filename=='..')continue;