Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP Compression Stream Wrappers

บทนำ

ใน PHP zlib://, bzip2:// และ zip:// เป็น wrapper สำหรับการบีบอัดสตรีม (compression streams) ตามลำดับ

compress.zlib://

ทำงานคล้ายกับฟังก์ชัน gzopen() แต่สามารถใช้กับฟังก์ชันระบบไฟล์ เช่น fread() และอื่นๆ ได้

compress.bzip2://

คล้ายกับฟังก์ชัน bzopen() ทั้งสอง stream wrapper ทำงานได้แม้ในระบบที่ไม่รองรับ fopencookie

zip://

ส่วนขยาย ZIP ลงทะเบียน wrapper นี้ ตั้งแต่ PHP 7.2.0 เป็นต้นมา รองรับไฟล์บีบอัดที่เข้ารหัสด้วยรหัสผ่าน สามารถตั้งรหัสผ่านด้วย context option password

ตัวอย่าง

การบีบอัด zlib สามารถทำได้ด้วยโค้ด PHP ดังนี้

<?php file_put_contents("compress.zlib://test.txt.gz", "Hello World\r\n"); ?>

เพื่อถอดการบีบอัด ใช้ไวยากรณ์ดังนี้

<?php echo file_get_contents("compress.zlib://test.txt.gz"); ?>

ยังสามารถใช้ฟังก์ชัน copy() สร้างไฟล์ zlib ที่บีบอัดแล้วและถอดการบีบอัดได้

copy('file.txt', 'compress.zlib://' . 'file.txt.gz'); copy('compress.zlib://' . 'file.txt.gz', 'file.txt');