Các tệp đã nén có thể được giải nén hoặc giải nén bằng cách sử dụng hàm gzread của PHP. Dưới đây là ví dụ về mã tương tự -
Ví dụ
$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);
Đầu ra
Điều này sẽ tạo ra kết quả sau -
The uncompressed data which is extracted by unzipping the zipped file.
Đường dẫn của tệp nén được lưu trữ trong một biến có tên là ‘tên_tệp’. Số lượng byte cần đọc tại một thời điểm được cố định và được gán cho một biến có tên là ‘buffer_size’. Tệp đầu ra sẽ không có phần mở rộng là .gz, do đó tên tệp đầu ra được lưu trữ trong một biến có tên ‘out_file_name’.
‘Out_file_name’ được mở ở chế độ nhị phân ghi để nối nội dung vào đó sau khi đọc từ tệp zip được giải nén. ‘File_name’ được mở ở chế độ đọc và nội dung được đọc bằng cách sử dụng hàm ‘gzread’ và những nội dung được trích xuất này được ghi vào ‘out_file’. Vòng lặp while chạy để đảm bảo rằng nội dung được đọc cho đến cuối tệp.