in-memory ZipArchive
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C
- Sterne
- 40.4k
- Forks
- 8.1k
- Ø Merge
- 2 T. 13 Std.
- Gemergte PRs (30 T.)
- 96
Beschreibung
Description
Currently ZipArchive relies on the filesystem, for both opening and extracting files.
Would it be possible to have it work with files (or data) in memory? Or is that a limitation of the underlying zip library?
Below is an example of ZipArchive not being able to open files from a virtual file system (probably because it's a stream).
$vfs = \org\bovigo\vfs\vfsStream::setup();
copy('foo.zip', $vfs->url() . '/foo.zip');
var_dump(file_get_contents($vfs->url() . '/foo.zip')); // file contents appears
$zip = new ZipArchive();
$zip->open($vfs->url() . '/foo.zip');
$zip->extractTo(__DIR__); // Uncaught ValueError: Invalid or uninitialized Zip object
$zip->close();
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit dem in vfsStream-Beispiel gezeigten Verhalten von ZipArchive open() und extractTo() und untersuche anschließend die Unterstützung der zugrunde liegenden zip library für streams oder in-memory data. Die Aufgabe ist abgeschlossen, wenn ZipArchive ein aus einem virtuellen Dateisystem oder dem Speicher bereitgestelltes Archiv öffnen und extrahieren kann, ohne auf gewöhnliche Dateisystempfade angewiesen zu sein.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- c, php
- Bereich
- backend
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100