lsv / source-backup-filesystem-compare
比较源文件系统和备份文件系统
dev-master
2019-10-03 13:24 UTC
Requires
- php: ^7.1
- league/flysystem: ^1.0
Requires (Dev)
- league/flysystem-memory: ^1.0
- phpunit/phpunit: ^7.0|^8.0
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 } }