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
,因此$key
是0
,$fromFilename
是map.php
,然后从$fakeNames
中得到关键字为0
的元素($key),即fake1.php
。执行重命名,然后循环。
第二次迭代从$activeNames
中获得第二个关键字和值,分别为$key
和$fromFilename
,因此$key
是1
,$fromFilename
是$activeNames
0,然后从$fakeNames
中获得关键字为1
的元素($key),即fake2.php
。执行重命名,然后循环。
第三次迭代从$activeNames
中获得第三个关键字和值,分别为$key
和$fromFilename
,因此$key
是2
,$fromFilename
是$fakeNames
0,然后从$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;