我想制作有关自动排序和重命名的代码。
(目录:/ public_html / file /) 文件夹名称:
1
2
3
4
5个
filename:aurosort.php
当我使用autosort.php删除文件夹名称“3”时,我想添加将文件夹“4”重命名为“3”并将“5”重命名为“4”auto的代码。
答案 0 :(得分:0)
据我所知,你应该尝试使用dir功能,比如:
$root = "/public_html/file/";
function removeAndAutosort($rdir);
{
if (is_dir($rdir)) {
rmdir($rdir);
}
$dir = scandir($root);
for($i=0; $i<=count($dir); ++$i) {
!is_dir($root.$i) ? rename($root.$i+1,$root.$i) : continue;
}
}
该函数将接收要删除的目录的名称,检查它是否存在然后将其删除。
接下来,它自从删除后生成一个包含树中每个目录的数组,迭代其count
值(应该是dirs的数量+ 1)并检查给定目录是否再次存在。如果是,则迭代继续进行。如果不这样做,它会使用已删除目录的名称重命名下一个目录。
请注意,我在可能与您的上下文不匹配的模拟环境中测试了此代码,我假设您的所有目录都有数字名称。