Massenkomprimierungsdateien (Zip)

8

Verwenden: Unsere Benutzer haben viele Objekte in unserem AWS S3-Konto. Wir fügen eine Funktion hinzu, um ganze Projekte gleichzeitig herunterzuladen. Es geht uns mehr um Effizienz als um Lagerung.

Nachdem ich verschiedene Optionen (ZipArchive, PclZip) angeschaut habe, bin ich auf dieses Handbuch gestoßen empfehle die Verwendung von Chilkat.

Es ist eine Methode, die sehr sinnvoll ist, und zusammengefasst ist es wie folgt:

  • Jede Datei beim Hochladen vorbereiten und in S3 speichern
  • "Project Download" beginnt mit dem Herunterladen jeder komprimierten Datei und dann mit QuickAppend (Chilkat-Terminologie), die dann "sofort" (200ms pro Datei) zur komprimierten Datei
  • hinzugefügt wird
  • Laden Sie die neue Zip-Datei in S3 hoch, und geben Sie den Link
  • an

Das Problem, auf das ich gestoßen bin, ist eine Lizenz für Chilkat ist $ 249, und ich suche nach freien Alternativen.

Eine Alternative (auch kostenlos) verwendet eine ähnliche Konzept:

  • Jede Datei beim Hochladen vorbereiten und in S3 speichern
  • "Project Download" beginnt mit dem Herunterladen jeder komprimierten Datei und dann tar zusammen
  • Laden Sie die neue Zip-Datei in S3 hoch, und geben Sie den Link
  • an

Gibt es einen "normalen" oder "idealen" Weg, um damit umzugehen?

    
Kerry Jones 14.03.2014, 12:55
quelle

2 Antworten

2

Auf meinem lokalen System kann die eingebaute ZIP-Bibliothek von PHP eine 10-fache 24MB-Zip in eine 21-Datei-51MB-ZIP in etwa 800ms zusammenführen, was vergleichbar ist mit der 200ms / Datei, die Sie gemeldet haben, aber ich bin mir nicht sicher, wie groß Ihre Dateien sind oder welche Art von Hardware Sie verwenden.

Anders als die Java-Bibliothek, die der Autor Ihres Handbuchs anfänglich verwendet hat, ist die Zip-Bibliothek von PHP in C implementiert, sodass Sie nicht die gleichen Java-zu-C-Leistungsgewinne sehen, die der Autor gesehen hat. Nachdem ich das gesagt habe, weiß ich nicht, wie Chillkats QuickAppend funktioniert oder wie es mit der Zip-Bibliothek von PHP verglichen wird, aber das Hinzufügen von Dateien vor dem Zippen, egal ob mit PHP oder Chillkat, scheint die schnellste Lösung zu sein.

%Vor%

Ausgabe

%Vor%     
FuzzyTree 04.06.2014 21:10
quelle
0

Ich habe eine Seite, wo Leute oft Zehnen oder sogar Hunderte von Dateien (so viel wie 100 MB, wenn ich raten musste) in einer Zip-Datei herunterladen. Ich benutze zipstream , was ich glaube, dass ich hier . Ich bin mir nicht sicher über die Einschränkungen, aber es scheint gut zu funktionieren und es besteht keine Notwendigkeit, die einzelnen Dateien vorher zu komprimieren.

    
jxmallett 04.06.2014 05:13
quelle

Tags und Links