Diese Bibliothek ermöglicht es, neue Zip- und Teer -Archive zu verarbeiten, ohne dass spezielle PHP -Erweiterungen erforderlich sind (GZ und BZIP werden für die Komprimierung benötigt). Es kann neue Dateien erstellen oder vorhandene extrahieren.
Um die Dinge einfach zu halten, wird die Änderung (Hinzufügen oder Entfernen von Dateien) vorhandener Archive nicht unterstützt.
Verwenden Sie Komponist:
php composer.phar require splitbrain/php-archive
Die Verwendung für den Reißverschluss und die Teerklassen ist im Grunde der gleiche. Hier sind einige Beispiele für die Zusammenarbeit mit Tars, um Ihnen den Einstieg zu erleichtern.
Weitere Informationen finden Sie in den API -Dokumenten.
require_once ' vendor/autoload.php ' ;
use splitbrain PHPArchive Tar ;
// To list the contents of an existing TAR archive, open() it and use
// contents() on it:
$ tar = new Tar ();
$ tar -> open ( ' myfile.tgz ' );
$ toc = $ tar -> contents ();
print_r ( $ toc ); // array of FileInfo objects
// To extract the contents of an existing TAR archive, open() it and use
// extract() on it:
$ tar = new Tar ();
$ tar -> open ( ' myfile.tgz ' );
$ tar -> extract ( ' /tmp ' );
// To create a new TAR archive directly on the filesystem (low memory
// requirements), create() it:
$ tar = new Tar ();
$ tar -> create ( ' myfile.tgz ' );
$ tar -> addFile (...);
$ tar -> addData (...);
. . .
$ tar -> close ();
// To create a TAR archive directly in memory, create() it, add*()
// files and then either save() or getArchive() it:
$ tar = new Tar ();
$ tar -> setCompression ( 9 , Archive:: COMPRESS_BZIP );
$ tar -> create ();
$ tar -> addFile (...);
$ tar -> addData (...);
. . .
$ tar -> save ( ' myfile.tbz ' ); // compresses and saves it
echo $ tar -> getArchive (); // compresses and returns it Unterschiede zwischen Teer und ZIP: Tars werden als Ganzes komprimiert, während Reißverschlüsse jede Datei einzeln komprimiert. Daher können Sie setCompression vor jedem Funktionsaufruf von addFile() und addData() aufrufen.
Die DateiInfo -Klasse kann verwendet werden, um zusätzliche Informationen wie Eigentümer oder Berechtigungen anzugeben, wenn eine Datei zu einem Archiv hinzugefügt wird.