我试图将目录中的所有文件名更改为大写,但没有发生任何事情。文件名保持不变。这包括文件名和扩展名。我打开了错误报告,这是我收到的唯一警告:
警告:重命名(Parts /。,Parts /。):第9行/var/www/site/img/upper.php中设备或资源繁忙
警告:重命名(Parts / ..,Parts / ..):第9行/var/www/site/img/upper.php中设备或资源繁忙
所需结果示例:abc.bmp - > ABC.BMP
代码:
<?php
ini_set("display_startup_errors", 1);
ini_set("display_errors", 1);
$directory="Parts";
$files = scandir($directory);
foreach($files as $key=>$name){
$oldName = $name;
$newName = strtoupper($name);
rename("$directory/$oldName","$directory/$newName");
}
?>
答案 0 :(得分:1)
您正在尝试移动与目录相关的元信息,请勿尝试将.
或..
作为文件移动。
.
表示当前工作目录。双倍期..
表示当前工作目录的父级。
$directory = "Parts";
$files = scandir($directory);
foreach($files as $name){
if ($name == '.' || $name == '..') {
continue;
}
$newName = strtoupper($name);
rename("$directory/$name", "$directory/$newName");
}