Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

Cách giải nén file gzip bằng PHP


File nén có thể giải nén hoặc giải nén bằng hàm gzread của PHP. Dưới đây là ví dụ mã:

Ví dụ

$file_name = 'name_of/.dump.gz'; 
$buffer_size = 4096; // số byte đọc mỗi lần, 4KB ở đây 
$out_file_name = str_replace('.gz', '', $file_name); 
$file = gzopen($file_name, 'rb'); // Mở file ở chế độ nhị phân 
$out_file = fopen($out_file_name, 'wb'); // Mở file ghi nhị phân 
// Lặp đến hết file đầu vào 
while (!gzeof($file)) { 
    fwrite($out_file, gzread($file, $buffer_size)); // Đọc buffer-size byte 
} 
fclose($out_file); // Đóng file khi xong 
gzclose($file);

Kết quả

Dữ liệu giải nén được trích xuất bằng cách giải nén file zip.

Đường dẫn file nén lưu trong biến 'file_name'. Số byte đọc mỗi lần cố định gán cho 'buffer_size'. File đầu ra không có đuôi .gz, nên tên file đầu ra lưu trong 'out_file_name'.

'out_file_name' mở ở chế độ ghi nhị phân để ghi nội dung sau khi đọc từ file zip giải nén. 'file_name' mở ở chế độ đọc, nội dung đọc bằng 'gzread' và ghi vào 'out_file'. Vòng lặp while chạy để đảm bảo đọc đến hết file.