Computer >> Máy Tính >  >> Lập trình >> PHP

Làm cách nào để giải nén hoặc giải nén tệp gzip bằng php?

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.