問題のファイルの作成が問題のある関数よりも少し遅れていると考えて、名前変更を呼び出す前に少し時間を稼ぐために while ループを実行してみました。
$no_file = 1;
while($no_file && $no_file < 300)
{ // generation of Worksheet.xls may lag behind function -- WAIT FOR IT
if(file_exists($old_path))
{ $no_file = 0;
rename($old_path, $new_path);
} else $no_file++;
}
if($no_file) die("Error: Worksheet.xls not found");
この構成では、file_exists() が true を返す場合にのみ rename() を呼び出すことができると考えていますが、私の人生では、rename() が呼び出されてから返されない方法/理由を理解できません...
PHP 警告: rename(C:\wamp\www\demox/wp-content/plugins/cat-man/store-manager/summary/worksheets/Worksheet.xls,C:\wamp\www\demox/wp-content/plugins /cat-man/store-manager/summary/statements/TESTING/2012/Worksheet.xls) そのようなファイルやディレクトリはありません...