如何在文件名数组中使用rename()


How to Use rename() Within Array Of File Names

PHP rename()函数重命名类似的文件

rename(oldname,newname)

但在我的情况下,我需要将基于作为当前名称的两个数组CCD_ 2的大容量文件重命名为作为新名称的CCD_。你能告诉我怎么做吗?

<?php
$dir = "data/";
$activeNames = ["map.php","tap.php","app.php"];
$fakeNames =["fake1.php","fake2.php","fake3.php"];
if(file_exists($dir."map.php")){
    rename($dir."map.php", $dir."noha.php");
}
   else {echo "File Name Already Changed";}
$dir = "data/";
$activeNames = ["map.php","tap.php","app.php"];
$fakeNames =["fake1.php","fake2.php","fake3.php"];

创建2个数组,这两个数组都为每个元素设置了默认键。。。。实际上是

$activeNames = [0 => "map.php",   1 => "tap.php",   2 => "app.php"];
$fakeNames   = [0 => "fake1.php", 1 => "fake2.php", 2 => "fake3.php"];

然后循环:

foreach($activeNames as $key => $fromFilename) {
    $toFilename = $fakeNames[$key];
    rename($dir . $fromFilename, $dir . $toFilename);
}

第一次迭代从$activeNames中得到第一个关键字和值,分别为$key$fromFilename,因此$key0$fromFilenamemap.php,然后从$fakeNames中得到关键字为0的元素($key),即fake1.php。执行重命名,然后循环。

第二次迭代从$activeNames中获得第二个关键字和值,分别为$key$fromFilename,因此$key1$fromFilename$activeNames0,然后从$fakeNames中获得关键字为1的元素($key),即fake2.php。执行重命名,然后循环。

第三次迭代从$activeNames中获得第三个关键字和值,分别为$key$fromFilename,因此$key2$fromFilename$fakeNames0,然后从$fakeNames中获得关键字为2的元素($key),即fake3.php。执行重命名,并终止循环,因为这是最后一个条目。

试试这个:

<?php
$dir = "data/";
$activeNames = ["map.php","tap.php","app.php"];
$fakeNames =["fake1.php","fake2.php","fake3.php"];
$errors = "";
for($i=0;$i<sizeof($activeNames);$i++){
    if(file_exists($dir.$activeNames[$i])){
            rename($dir.$activeNames[$i], $dir.$fakeNames[$i]);
    }
       else {$error.="File Name Already Changed'n";}
}
echo $errors;