我正在尝试使用 PHPrename
将文件移动到不同的文件夹(并在同一步骤中重命名该文件)。然而,rename
总是返回false
。另一方面,使用组合copy
and unlink
工作得很好。可能是什么原因造成的?
相关代码如下所示:
if (!rename($targetpath, $backuppath)) {
// if rename fails, try with copy and delete
if (!copy($targetpath, $backuppath))
die("9\nCould not move existing file to backup");
touch($backuppath, filemtime($targetpath));
if (!unlink($targetpath))
die("9\nCould not move existing file to backup");
}
路径将是例如
$targetpath: /path/to/plots/some.pdf
$backuppath: /path/to/plots/old/some.pdfX14068815860
首先检查错误是什么:
print_r(error_get_last());
您使用什么版本的 php?在旧版本上,rename
仅当源和目标位于同一文件系统上时才有效。在某些系统上,rename
如果您有该文件的打开文件描述符,也会失败。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)