我创建了一个函数来从github获取某个文件的最新版本并更新本地文件。这是代码:
$remoteFile = $remote; // File from github.
$localFile = $local; // File to be updated (/app/lib/example.php).
// If file exists, it must be copied to a backup (.bak) version.
if (file_exists($localFile)) {
rename($localFile, $localFile.'.bak');
}
$newFile = fopen($localFile, 'w');
fwrite($newFile, file_get_contents($remoteFile));
fclose($newFile);
问题是此代码在重命名之前更新文件。换句话说,当前文件和备份文件将具有相同的更新代码。 谁知道为什么?