我不知道问题是什么。除了 $scanDir 之外的所有内容都已定义?它是函数的一部分,所以它的值在调用时传递。这不应该是原因。
for ($a = 0; $a <= count($scanListArrayOrig); $a++) {
rename($scanDir . '/' . $scanListArrayOrig[$a], $scanDir . '/' . $scanListArrayNew[$a]);
}
我不知道问题是什么。除了 $scanDir 之外的所有内容都已定义?它是函数的一部分,所以它的值在调用时传递。这不应该是原因。
for ($a = 0; $a <= count($scanListArrayOrig); $a++) {
rename($scanDir . '/' . $scanListArrayOrig[$a], $scanDir . '/' . $scanListArrayNew[$a]);
}
替换<=
为<
。
for ($a = 0; $a < count($scanListArrayOrig); $a++) {
rename($scanDir . '/' . $scanListArrayOrig[$a], $scanDir . '/' . $scanListArrayNew[$a]);
}
在这里演示:http: //ideone.com/yvvAxL
使用 foreach 并检查现有密钥的新数组:
foreach($scanListArrayOrig as $key => $file) {
if(false === array_key_exists($key, $scanListArrayNew)) {
//new filename not existing in array
}
else {
rename($scanDir.'/'.$file, $scanDir.'/'.$scanListArrayNew[$key]);
}
}