ไฟล์ซิปสามารถคลายซิปหรือคลายการบีบอัดได้โดยใช้ฟังก์ชัน gzread ของ PHP ด้านล่างนี้เป็นตัวอย่างโค้ดของสิ่งเดียวกัน -
ตัวอย่าง
$file_name = name_of/.dump.gz'; $buffer_size = 4096; // The number of bytes that needs to be read at a specific time, 4KB here $out_file_name = str_replace('.gz', '', $file_name); $file = gzopen($file_name, 'rb'); //Opening the file in binary mode $out_file = fopen($out_file_name, 'wb'); // Keep repeating until the end of the input file while (!gzeof($file)) { fwrite($out_file, gzread($file, $buffer_size)); //Read buffer-size bytes. } fclose($out_file); //Close the files once they are done with gzclose($file);
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
The uncompressed data which is extracted by unzipping the zipped file.
เส้นทางของไฟล์ซิปถูกเก็บไว้ในตัวแปรชื่อ 'file_name' จำนวนไบต์ที่ต้องอ่านในแต่ละครั้งได้รับการแก้ไขและกำหนดให้กับตัวแปรชื่อ 'buffer_size' ไฟล์เอาต์พุตจะไม่มีนามสกุล .gz ดังนั้นชื่อไฟล์เอาต์พุตจึงถูกเก็บไว้ในตัวแปรชื่อ 'out_file_name'
'out_file_name' ถูกเปิดในโหมดไบนารีการเขียนเพื่อผนวกเนื้อหาเข้าไปหลังจากอ่านจากไฟล์ zip ที่แยกออกมา 'file_name' ถูกเปิดในโหมดอ่าน และเนื้อหาจะถูกอ่านโดยใช้ฟังก์ชัน 'gzread' และเนื้อหาที่แยกออกมาเหล่านี้จะถูกเขียนลงใน 'out_file' while loop จะทำงานเพื่อให้แน่ใจว่าเนื้อหาถูกอ่านจนจบไฟล์