何が問題なのかわからない。おそらく $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]);
}
}