2012-04-12 7 views
0

Gibt es eine PHP-unterstützte Möglichkeit, mit einem Archiv von Dateien (.zip, .tar oder einem anderen Archiv) auf die gleiche Weise zu arbeiten, wie wir mit Ordnern arbeiten?PHP arbeitet mit Dateien innerhalb eines Archivs

Zum Beispiel, wenn in unserem Stammverzeichnis "/ www /" ein Archiv "/www/catalog.zip" vorhanden ist, das .php-Dateien enthält, wäre es möglich, dieses Archiv mit PHP zu integrieren, damit PHP was weiß ist innerhalb des Archivs und wenn es erforderlich ist, eine Datei (z. B. test.php, die in der catalog.zip ist) aufzunehmen, können wir dies tun, ohne das Archiv "catalog.zip" zu extrahieren?

Nicht sicher, ob so etwas wie dies existiert (natürlich wäre es möglich, eine Anwendung zu erstellen, so etwas zu tun, aber es wäre Ressource sein, wenn mit PHP gemacht Extrakt lesen/Entfernen verwenden)

oder vielleicht gibt ist etwas ähnliches, das verwendet werden kann?

+2

Es gibt keine Möglichkeit für jede Anwendung arbeiten Sie mit den Daten jeder archivierten Datei, ohne sie zu extrahieren. Das ist der Sinn eines Archivs. Dies gilt nicht für unkomprimierte Archive wie 'tar', aber wenn Sie die richtigen Start- und Endpunkte im Archiv finden, aus denen Sie lesen möchten, entpacken Sie die Datei effektiv. – DaveRandom

+0

Ich verstehe, dass Dave, aber wenn so etwas möglich ist, wäre die Pflege und Arbeit mit Dateien (vor allem Upload) einfacher, stellen Sie sich vor, mit großen Projekten mit über 1000 Dateien oder sogar mit einem Ckeditor (die Menge der Dateien) wenn es nur etwa 5 MB ist) dauert es etwa 30 Minuten, um mit einer langsamen Verbindung hochzuladen :) – Alex

Antwort

0

Vielleicht so etwas wie ZipArchive::getStream zusammen mit stream_get_contents würden Sie den Inhalt der Datei erhalten, aber ich bin nicht sicher, wie man es hätte schließen - man denke nicht PHP kann include von stdin

+0

In diesem Beispiel würde man es nicht "einschließen", sondern "eval()" (böse). Aber du würdest es sowieso nicht machen, du würdest die Dateien einfach in einem Verzeichnis speichern und sie nicht archivieren. – DaveRandom

Verwandte Themen