Tôi đang sử dụng CodeIgniter và tôi không thể tìm ra cách giải nén tệp!Làm cách nào để giải nén tệp .gz bằng PHP?
Trả lời
Download the Unzip library và bao gồm hoặc autoload
thư viện unzip
$this->load->library('unzip');
Liên kết đã chết .. hãy để tôi tìm các liên kết nếu tôi có thể và cập nhật – fedmich
Sử dụng các chức năng được thực hiện bởi phần mở rộng Zlib Compression.
đoạn này cho thấy làm thế nào để sử dụng một số chức năng đã có sẵn từ phần mở rộng:
// open file for reading
$zp = gzopen($filename, "r");
// read 3 char
echo gzread($zp, 3);
// output until end of the file and close it.
gzpassthru($zp);
gzclose($zp);
PHP chính nó có một số chức năng để đối phó với các file gzip.
Nếu bạn muốn tạo một tệp mới, không nén, nó sẽ giống như thế này.
Lưu ý: Điều này không kiểm tra xem tệp đích có tồn tại trước không, không xóa tệp đầu vào hoặc kiểm tra lỗi. Bạn thực sự cần sửa chữa chúng trước khi sử dụng trong mã sản xuất.
// This input should be from somewhere else, hard-coded in this example
$file_name = 'file.txt.gz';
// Raising this value may increase performance
$buffer_size = 4096; // read 4kb at a time
$out_file_name = str_replace('.gz', '', $file_name);
// Open our files (in binary mode)
$file = gzopen($file_name, 'rb');
$out_file = fopen($out_file_name, 'wb');
// Keep repeating until the end of the input file
while(!gzeof($file)) {
// Read buffer-size bytes
// Both fwrite and gzread and binary-safe
fwrite($out_file, gzread($file, $buffer_size));
}
// Files are done, close files
fclose($out_file);
gzclose($file);
Lưu ý: Giao dịch này có gzip chỉ. Nó không đối phó với tar.
Tôi đã sử dụng mã này và nó hoạt động hoàn hảo. chỉ cần hỏi làm thế nào để làm cho nó hoạt động với các thư mục bên trong tập tin gz và làm thế nào để hiển thị thư mục đầu ra của các tập tin được trích xuất. –
@RealMan gzip chỉ hỗ trợ các tệp đơn lẻ. Bạn cần một tệp .tar.gz cho nhiều tệp. Tôi không chắc liệu PHP có hỗ trợ sẵn cho tar hay không. – Powerlord
Nếu bạn có quyền truy cập vào hệ thống():
system("gunzip file.sql.gz");
Nên hoạt động nhưng phần lớn hệ thống thời gian() sẽ bị vô hiệu hóa vì lý do bảo mật – fedmich
- 1. Giải nén tệp .gz bằng C#
- 2. giải nén tệp .gz bằng GZipStream
- 3. giải nén tệp .gz theo lô
- 4. Zlib trong Ruby để giải nén .gz
- 5. Nén bằng Java Giải nén bằng PHP
- 6. Cách lấy một vài dòng từ tệp nén .gz mà không giải nén
- 7. Làm cách nào để giải nén tệp bằng dòng lệnh?
- 8. Làm cách nào để trích xuất hoặc giải nén tệp gzip bằng php?
- 9. Làm cách nào để giải nén/giải nén trong Emacs
- 10. Cách mở và chỉnh sửa tệp * .gz trong vim (với tự động giải nén/zip)
- 11. Trong PHP, mỗi ký tự trong chuỗi gz giải nén được theo sau bởi^@, tại sao?
- 12. Cách đơn giản để giải nén tệp .zip bằng zlib
- 13. Tải lên tệp .zip lên FTP và giải nén tệp bằng cách sử dụng PHP
- 14. Nhận kích thước không nén của tệp .gz trong python
- 15. Cách nén và giải nén tệp?
- 16. Làm cách nào để đọc/ghi các tệp đã nén?
- 17. Tách tệp bằng tar, gz, zip hoặc bzip2
- 18. Làm thế nào để giải nén chuỗi Gzip trong ruby?
- 19. Giải nén tệp zip bằng zlib
- 20. PHP Untar-gz mà không có exec()?
- 21. Làm thế nào để giải nén xlsx?
- 22. Giải nén và lưu tệp bằng cách sử dụng as3?
- 23. Tạo tệp thực thi tự giải nén bằng cách sử dụng PHP
- 24. Giải nén tệp gzip từ CURL, trên php
- 25. Cách giải nén tệp .zip trên iOS?
- 26. Làm thế nào để giải nén io.ReadCloser?
- 27. Giải nén tệp từ tệp ZIP bằng VBScript
- 28. Tôi làm cách nào để nén một thư mục và gửi email tệp nén bằng Python?
- 29. Cách giải nén thư mục zip bằng cách sử dụng mã php
- 30. Nén và giải nén các thư mục và tệp bằng cách sử dụng Java
Một tập tin gz là khác nhau từ một tập tin .zip, ngay cả khi bình thường một tiện ích mà có thể giải nén .zip file cũng có thể giải nén. tệp gz. – kiamlaluno