PHP创建备份/复制文件+计数器

时间:2018-02-06 10:46:00

标签: php file

我有一个名为test.json的文件

我应该在任何操作中创建一个备份文件,我只需执行以下操作

copy()

然后它创建" test_backup_1.json"

但是在下一个动作中,我需要创建" test_backup_2.json"并在下一个动作中调用:" test_backup_3.json"等等...

我该如何动态地做到这一点。 ?

1 个答案:

答案 0 :(得分:0)

使用唯一键( UUID / GUID )或日期前缀或后缀到文件名来存储或备份文件的最佳方法。

$files = glob("/path/to/directory/*.json");

但根据您的要求,我们可以使用 glob

来实现这一目标

从备份文件夹中获取所有json文件

$uploadDir = 'path/to/your/upload/dir';
chdir($uploadDir);
// Will give all the files which file names starts as test_backup
$files = glob('test_backup_*');

如果您想获得完全匹配的模式文件。

Array
(
    [0] => /path/to/directory/test_backup.json
    [1] => /path/to/directory/test_backup_1.json
    [2] => /path/to/directory/test_backup_2.json
)

$ files数组包含示例目录中的以下内容:

$count = count($files);
$fileName = 'test_backup_' . $count  . '.json'; 
copy("file.json", $fileName);

获取数组的计数,然后根据计数生成索引,即

{{1}}

有关glob - http://php.net/manual/en/function.glob.php

的更多信息