考虑到有问题的文件的创建有点落后于有问题的函数,我尝试运行一个 while 循环以在调用 rename 之前争取一点时间。
$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 警告:重命名(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) 没有这样的文件或目录...