0

我正在使用以下代码来创建 php 变量的备份。

if(file_exists(old_backup.txt))
    unlink('old_backup.txt');
copy('new_backup.txt', 'old_backup.txt');
$content = serialize($some_ar);
file_put_contents('new_backup.txt', $content);

new_backup.txt 将有当前变量转储,而 old_backup.txt 将有变量转储到某个时间。

转储大小是恒定的,大约 300Mb。但是每次运行上述代码时,磁盘使用量都会无限增加。当php脚本被杀死时,磁盘使用是正常的。不确定文件处理程序仍为已删除文件打开的位置。如何在不增加磁盘使用量的情况下使上述代码正常工作。

4

1 回答 1

1

不确定究竟是什么导致磁盘使用量增加,因为您只发布了一个片段而不是完整的脚本。但是,有一些事情是不正确的:

if(file_exists(old_backup.txt))

应该

if(file_exists('old_backup.txt'))

那么文件的存在并不意味着你可以unlink,你也应该检查权限。话虽如此,这些并不是填充磁盘的好理由,但我们需要看看你从哪里获得 $some_ar 变量以提供更好的建议。

于 2018-01-29T20:52:40.547 回答