1

我正在尝试使用 PHPrename将文件移动到不同的文件夹(并在同一步骤中重命名文件)。但是,rename总是返回false。另一方面,使用 和 的组合copyunlink可以了。这可能是什么原因造成的?

相关代码如下所示:

  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
4

1 回答 1

0

首先检查错误是什么:

print_r(error_get_last());

你用的是什么版本的php?在旧版本上,rename仅当源和目标都在同一个文件系统上时才有效。在某些系统上,rename如果您有该文件的打开文件描述符,也会失败。

于 2014-08-01T08:38:10.450 回答