ห้องสมุดนี้ช่วยให้สามารถจัดการกับคลังเก็บซิปและ TAR ใหม่ได้โดยไม่จำเป็นต้องมีส่วนขยาย PHP พิเศษใด ๆ (จำเป็นต้องใช้ GZ และ BZIP สำหรับการบีบอัด) มันสามารถสร้างไฟล์ใหม่หรือแยกไฟล์ที่มีอยู่
เพื่อให้สิ่งต่าง ๆ ง่ายขึ้นการดัดแปลง (การเพิ่มหรือลบไฟล์) ของคลังเก็บที่มีอยู่ไม่ได้รับการสนับสนุน
ใช้นักแต่งเพลง:
php composer.phar require splitbrain/php-archive
การใช้งานสำหรับคลาสซิปและน้ำมันดินนั้นเหมือนกัน นี่คือตัวอย่างบางส่วนสำหรับการทำงานกับ Tars เพื่อให้คุณเริ่มต้น
ตรวจสอบเอกสาร API สำหรับข้อมูลเพิ่มเติม
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 ความแตกต่างระหว่าง tar และ zip: tars ถูกบีบอัดโดยรวมในขณะที่ Zips บีบอัดแต่ละไฟล์เป็นรายบุคคล ดังนั้นคุณสามารถเรียก setCompression ก่อนการเรียกใช้ฟังก์ชัน addFile() และ addData()
คลาส FileInfo สามารถใช้เพื่อระบุข้อมูลเพิ่มเติมเช่นความเป็นเจ้าของหรือการอนุญาตเมื่อเพิ่มไฟล์ลงในที่เก็บถาวร