lsv/source-backup-filesystem-compare

比较源文件系统和备份文件系统

dev-master 2019-10-03 13:24 UTC

This package is auto-updated.

Last update: 2024-08-29 05:50:14 UTC


README

它将搜索源文件系统上的每个文件,并报告该文件是否在备份文件系统中缺失,如果存在,则报告备份文件是否比源文件更新/过时,或者备份文件的大小是否与源文件不同。

安装

composer require lsv/source-backup-filesystem-compare

使用方法

首先我们需要创建一个源文件系统和备份文件系统。

我们使用 league/flysystem 因此我们可以使用许多不同的存储方式

use League\Flysystem\Filesystem;
use Lsv\BackupCompareFilesystems\CompareFilesystems;

// For adapters see the league/flysystem docs
$source = new Filesystem($sourceAdapter);
$backup = new Filesystem($backupAdapter);

foreach ((new CompareFilesystems($backup, $source))->compare() as $file) {
    // Now $file are a Lsv\Lsv\BackupCompareFilesystems\Model object
    if ($errors = $file->getErrors()) {
        foreach ($errors as $error) {
            echo $error; // $error is a integer which corresponts to the following constants
            // 1 = \Lsv\BackupCompareFilesystems\Model::SOURCE_FILE_DOES_NOT_EXISTS_IN_BACKUP
            // 2 = \Lsv\BackupCompareFilesystems\Model::SOURCE_FILE_IS_SMALLER_THAN_BACKUP
            // 3 = \Lsv\BackupCompareFilesystems\Model::SOURCE_FILE_IS_BIGGER_THAN_BACKUP
            // 4 = \Lsv\BackupCompareFilesystems\Model::SOURCE_FILE_IS_OLDER_THAN_BACUP
            // 5 = \Lsv\BackupCompareFilesystems\Model::SOURCE_FILE_IS_NEWER_THAN_BACKUP
        }
    } else {
        echo 'Backup file is matching the source file';
        // Source file is matching the backup file
    }
}