Deduplikácia a integrita
Pri zapnutej deduplikácii sa rovnaké bajty na rovnakom (disk, visibility) uložia raz a zdieľajú sa referenciou — rovnako zdieľajú originál aj attach() a kópia na tom istom disku. Bezpečné zdieľanie zaručuje počítadlo referencií na uloženom súbore: fyzický originál sa odstráni — mazaním, presunom na iný disk či náhradou — len vtedy, keď na ten istý súbor (disk + cesta) už neukazuje žiadny iný riadok, vrátane soft-deleted riadkov, takže soft delete s následným obnovením nič nestratí ani pri zdieľanom súbore:
// Identical bytes on the same (disk, visibility) are stored once.
$a = MediaLibrary::for($userA)->add($path)->toBucket('docs'); // the source path is only read
$b = MediaLibrary::for($userB)->add($path)->toBucket('docs'); // same bytes -> shared storage
// Deleting $a keeps the file alive while $b still references it.
MediaLibrary::delete($a); // the original stays until the last reference is gone
$b->verifyIntegrity(); // bool — false on drift or a missing fileKontrolný súčet obsahu (predvolene sha256) je základom dedup aj voliteľnej kontroly integrity pri čítaní — nastavte verify_checksum_on_read, aby sa originál pri streame/sťahovaní prehašoval a pri nezhode vyhodil ChecksumMismatch. Varianty sa nikdy nezdieľajú: každé médium si generuje vlastné. Zdieľaný originál sa ani neprepíše — náhrada pri jednom z riadkov zapíše nové bajty na vlastnú cestu — a adresáre sa upracú až vtedy, keď v nich nezostane nič, na čo ukazuje iný riadok.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.