परिचय
PHP में, zlib://, bzip2:// और zip:// संबंधित कम्प्रेशन स्ट्रीम के लिए रैपर्स को दर्शाते हैं।
compress.zlib://
यह gzopen() फ़ंक्शन के समान काम करता है, हालांकि, इसे fread() जैसे फाइलसिस्टम फ़ंक्शन के साथ उपयोग किया जा सकता है।
compress.bzip2://
यह bzopen() फ़ंक्शन के समान है। दोनों स्ट्रीम रैपर्स उन सिस्टम पर भी काम करते हैं जो fopencookie का समर्थन नहीं करते।
zip://
ZIP एक्सटेंशन इस रैपर्स को रजिस्टर करता है। PHP 7.2.0 से, पासवर्ड से एन्क्रिप्टेड आर्काइव समर्थित हैं। पासवर्ड को पासवर्ड कॉन्टेक्स्ट विकल्प के साथ सेट करना संभव है।
उदाहरण
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');
नोट: ये रैपर्स फाइलसिस्टम फ़ंक्शन (fopen, file_get_contents, file_put_contents, copy, आदि) के साथ पारदर्शी रूप से काम करते हैं, जिससे कंप्रेस्ड फ़ाइलों को सामान्य फ़ाइलों की तरह पढ़ना/लिखना संभव होता है।