ज़िप्ड फ़ाइलों को PHP के gzread फ़ंक्शन का उपयोग करके अनज़िप या डीकंप्रेस किया जा सकता है। इसके लिए नीचे कोड उदाहरण दिया गया है:
उदाहरण
$file_name = 'name_of/.dump.gz';
$buffer_size = 4096; // एक विशिष्ट समय में पढ़े जाने वाले बाइट्स की संख्या, यहां 4KB
$out_file_name = str_replace('.gz', '', $file_name);
$file = gzopen($file_name, 'rb'); // बाइनरी मोड में फ़ाइल खोलना
$out_file = fopen($out_file_name, 'wb');
// इनपुट फ़ाइल के अंत तक दोहराते रहें
while (!gzeof($file)) {
fwrite($out_file, gzread($file, $buffer_size)); // बफर-आकार बाइट्स पढ़ें।
}
fclose($out_file); // फ़ाइलों को पूरा होने पर बंद करें
gzclose($file);
आउटपुट
यह निम्न आउटपुट देगा:
अनकंप्रेस्ड डेटा जिसे ज़िप्ड फ़ाइल को अनज़िप करके निकाला गया है।
ज़िप्ड फ़ाइल का पथ 'file_name' नामक वेरिएबल में संग्रहीत है। एक समय में पढ़े जाने वाले बाइट्स की संख्या तय की जाती है और 'buffer_size' नामक वेरिएबल को असाइन की जाती है। आउटपुट फ़ाइल में .gz एक्सटेंशन नहीं होगा, इसलिए आउटपुट फ़ाइल नाम 'out_file_name' नामक वेरिएबल में संग्रहीत है।
'out_file_name' को लिखने के लिए बाइनरी मोड में खोला जाता है ताकि निकाले गए ज़िप फ़ाइल से पढ़ने के बाद सामग्री इसमें जोड़ी जा सके। 'file_name' को रीड मोड में खोला जाता है, और सामग्री को 'gzread' फ़ंक्शन का उपयोग करके पढ़ा जाता है और ये निकाली गई सामग्री 'out_file' में लिखी जाती है। एक while लूप यह सुनिश्चित करने के लिए चलता है कि फ़ाइल के अंत तक सामग्री पढ़ी जाती है।