重命名文件名
Renaming File names
我正在使用以下脚本重命名文件夹中的图像。执行时,前 2 个(新)名称失败,因此它基本上以 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);
}
这些是我收到的警告,
Warning: rename(images/.,images/11225001.): The process cannot access
the file because it is being used by another process. (code: 32) in
C:\wamp\apache2\htdocs\renameimages\index.php on line 21
Warning: rename(images/..,images/11225002.): Access is denied. (code:
5) in C:\wamp\apache2\htdocs\renameimages\index.php on line 21
有什么我遗漏的吗?
前两个是指向当前文件夹和父文件夹的链接。你应该跳过它们。
if($fileName=='.' || $filename=='..')continue;
我正在使用以下脚本重命名文件夹中的图像。执行时,前 2 个(新)名称失败,因此它基本上以 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);
}
这些是我收到的警告,
Warning: rename(images/.,images/11225001.): The process cannot access the file because it is being used by another process. (code: 32) in C:\wamp\apache2\htdocs\renameimages\index.php on line 21
Warning: rename(images/..,images/11225002.): Access is denied. (code: 5) in C:\wamp\apache2\htdocs\renameimages\index.php on line 21
有什么我遗漏的吗?
前两个是指向当前文件夹和父文件夹的链接。你应该跳过它们。
if($fileName=='.' || $filename=='..')continue;