我正在使用以下脚本重命名文件夹中的图像。执行时,前两个(新)名称将失败,因此它基本上以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中
有什么我想念的吗?
答案 0 :(得分:1)
前两个是指向当前文件夹和父文件夹的链接。您应该跳过它们。
if($fileName=='.' || $filename=='..')continue;